问题 H: 讨厌的小数点
时间限制: 1 Sec 内存限制: 32 MB
提交: 31 解决: 10
[提交][状态][讨论版]
题目描述
小明一直很讨厌小数点,一看到小数点就头疼。不幸的是,小红给他出了一个题目,问他:
给你一个小数x,你能算出小数点后第n位是什么吗?(1<=n<=6)
小明看到此题后,瞬间头疼晕倒,你能帮帮他吗?
输入
首先输入一个t,表示有t组数据,跟着t行:
每行输入一个小数(输入数据保证一定是a.b的形式,为了简单化问题,没有循环小数的情况),
然后跟一个n,表示小数点后第几位。
输出
输出一个数表示小数点后第n位的数。
样例输入
3
1.234 1
2.345 2
3.456 3
样例输出
2
4
6
提示
这道题真的是要急死人了,测试数据里有需要求多于小数点位数的数,所以得分情况,当需要求的位数大于小数点后边位数时直接输出0,不大于就直接输出
#include<stdio.h>
#include<string.h>
int main()
{
char str[100];
int t,n,k;
scanf("%d",&t);
while(t--)
{
//memset(str,'0',sizeof(str));
scanf("%s %d",str,&n);
int len=strlen(str);
for(int i=0;i<len;i++)
{
if(str[i]=='.')
{
k=i;
break;
}
}
if(n>=len-k)
printf("0\n");
else
printf("%c\n",str[k+n]);
}
return 0;
}