nyoj_96 n-1位数

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

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

分析:

如果直接用int型变量来存储输入的整数的话,不好判断是几位数。

故以下代码用字符型数组把输入的整数当作字符串来存储,输出时,从第二位起第一个不是0的开始输出即可,若直到最后一位都是0,则输出最后一位。

代码:

#include<cstdio>
#include<cstring>
int main()
{
	int T;
	scanf("%d",&T);
	while(T--)
	{
		char w[8];
		scanf("%s",w);
		for(int i=1;i<strlen(w);i++)
			if(w[i]!='0'||i==strlen(w)-1)
			{
				printf("%s\n",&w[i]);
				break;
			}
	}
	return 0;
}