首页 > 代码库 > n-1位数

n-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
 1 #include <stdio.h>  2 #include <string.h> 3  4 int main(){ 5     int T; 6     int n; 7     char digit[20]; 8     int i; 9     int length;10     int flag;11     12     scanf("%d",&T);13     14     while(T--){15         scanf("%d",&n);16         17         i=0;18         while(n){19             digit[i]=n%10+0;20             i++;21             n/=10;22         }23         digit[i]=\0;24         length=strlen(digit);25         26         flag=0;27         for(i=length-2;i>=0;i--){28             if(digit[i]==0){  //当遇到0时 29                 if(flag==1)  //flag为0时就是忽略前导0,flag为1时要打印此时的0 30                     printf("%c",digit[i]);31             }32                 33             if(digit[i]!=0){  //当遇到不为0的数时,打印此数并且后面的0可以打印 34                 flag=1;35                 printf("%c",digit[i]);36             }37         }38         39         if(flag==0)40             printf("0");41             42         printf("\n");43     }44     45     return 0;46 }

 

n-1位数