首页 > 代码库 > HDU 2549 壮志难酬(字符串,处理小数点)

HDU 2549 壮志难酬(字符串,处理小数点)

/*给你一个小数x,让你算出小数点后第n位是什么,(1 <= n <= 6)Input首先输入一个t,表示有t组数据,跟着t行:每行输入一个小数(输入数据保证一定是a.b的形式,为了简单化问题,没有循环小数的情况)然后跟一个n,表示小数点后第几位Output输出一个数表示小数点后第n位的数*/#include <stdio.h>#include <string.h>#include <math.h>#include <algorithm>using namespace std;int main(){    int t;    char a[105];    int n;    scanf("%d",&t);    while(t--)    {        scanf("%s%d",a,&n);        int len=strlen(a);        for(int i=0;i<len;i++)        {            if(a[i]==‘.‘)                break; //!!找到小数点所在下标i的位置        }                if(n>len-i-1) //!!得到减去小数点及小数点之前数后得到的长度 并判断是否超长             printf("0\n");        else            printf("%c\n",a[n+i]);//!!    }    return 0;}

  

HDU 2549 壮志难酬(字符串,处理小数点)