时间限制:3000 ms | 内存限制:65535 KB
难度:1
输入
第一行为M,表示测试数据组数。
接下来M行,每行包含一个测试数据。
输出
输出M行,每行为对应行的n-1位数(忽略前缀0)。如果除了最高位外,其余位都为0,则输出0。
样例输入
4 1023 5923 923 1000
样例输出
23 923 23 0
描述
已知w是一个大于10但不大于1000000的无符号整数,若w是n(n≥2)位的整数,则求出w的后n-1位的数。
分析:
先算出数字长度,然后利用数组将各个位数进行存储,在利用数学函数进行输出
#include <iostream>
#include<stdio.h>
#include<math.h>
using namespace std;
int main()
{
int a,b,i,n[10],k;
double sum=0;
scanf("%d",&a);
while(a--)
{
sum=0;
scanf("%d",&b);
for(i=1;i<10;i++)
{
n[i-1]=b%10;
b=b/10;
if(b==0)
break;
}
for(k=i-2;k>=0;k--)
{
sum=sum+pow(10,k)*n[k];
}
printf("%.0lf\n",sum);
}
return 0;
}