NYOJ【96】n-1位数【水题】

时间:2022-07-11 22:39:01

n-1位数

时间限制: 3000 ms  |  内存限制: 65535 KB
难度: 1
描述

已知w是一个大于10但不大于1000000的无符号整数,若w是n(n≥2)位的整数,则求出w的后n-1位的数。

输入
第一行为M,表示测试数据组数。
接下来M行,每行包含一个测试数据。
输出
输出M行,每行为对应行的n-1位数(忽略前缀0)。如果除了最高位外,其余位都为0,则输出0。
样例输入
4
1023
5923
923
1000
样例输出
23
923
23

0


解析:

       要求就是除去首位,从第一位非0的数字开始输出后面的数字,如果除去首位都是0,则输出0.


程序如下:

#include<cstdio>
int main()
{
	int t;
	scanf("%d",&t);
	while(t--)
	{
		long long  n;
		scanf("%lld",&n);
		int a[100];
		int j=0;
		while(n>9)
		{
			a[j++]=n%10;
			n/=10;
		}
		int flag=0;
		int k;
		for(int i=j-1; i>=0; i--)
		{
			if(a[i]!=0)
			{
				flag=1;
				k=i;
				break;
			}	   
		}
		if(flag==0)
		    printf("0\n");
		else
		{
			for(int i=k; i>=0; i--)
			    printf("%d",a[i]);
			printf("\n");
		}
	}
	return 0;
}