n-1位数(南阳oj 96)

时间限制: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;
}

猜你喜欢

转载自blog.csdn.net/acm147258369/article/details/83903241
96
96A