nyoj 96 n-1位数(处理前导 0 的情况)(string)

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


C代码:
 1 #include <cstdio>
 2 #include <cstring>
 3 
 4 int main(){
 5     int i, j, n;
 6     char a[12];
 7     scanf("%d", &n);
 8     while(n--){
 9         scanf("%s", a);
10         int len = strlen(a);
11         for(i = 1; i < len; i++){
12             if(a[i] != '0')
13                 break;
14         }
15         if(i < len)
16             for(j = i; j < len; j++)
17                 printf("%c", a[j]);
18         else
19             printf("0");
20         printf("
");
21     }
22     return 0;
23 }    

C++代码

 1 #include <iostream>
 2 #include <string>
 3 using namespace std;
 4 
 5 int main(){
 6     int n, len, i;
 7     string s;
 8     cin >> n;
 9     while(n--){
10         cin >> s;
11         len = s.length();
12 
13         for(i = 1; i < len; i++)
14             if(s[i] != '0')
15                 break;
16 
17         if(i == len){
18             cout << '0' << endl;
19             continue;
20         }
21 
22         for(int j = i; j < len; j++)
23             cout << s[j];
24         cout << endl;
25     }
26     return 0;
27 }

原文地址:https://www.cnblogs.com/qinduanyinghua/p/5718165.html