问题链接:HDU2549 壮志难酬。基础训练级的题,用C语言编写程序。
问题简述:参见上述链接。
问题分析:(略)。
程序说明:这个题需要注意的一点是,给定的数小数点后只有m位,输入的n>m时,则第n位为0。
其他都是输入输出流处理问题。小数点前的各位就不需要存储了,这样处理起来要容易许多。
AC的C语言程序如下:
/* HDU2549 壮志难酬 */ #include <stdio.h> int main(void) { int t, count, n; char s[10], c; scanf("%d", &t); getchar(); while(t--) { // 跳过小数点之前的字符 while((c=getchar()) != '.'); // 小数点之后的字符放入数组s中,并计数小数点后的位数 count = 0; while((c=getchar()) != ' ') s[count++] = c; // 读入n scanf("%d", &n); getchar(); // 输出结果 if(n>count) printf("0 "); else printf("%c ", s[n-1]); } return 0; }