《算法竞赛入门经典》P35 习题2-5
分数化小数 (decimal)
问题描述:
输入正整数a,b,c,输出a/b的小数形式,精确到小数点后c位。a,b≤106(10的6次方),c≤100。输入包含多组数据,结束标记为a=b=c=0。
样例输入:
1 6 4
0 0 0
样例输出:
Case 1 : 0.1667
又是一种没见过的题
而且顺便使用一下 HTML版的博文编辑器~
当小数的位数定的时候可以写成
printf("%.4lf",a/b);
这次要输出一个位数不定的小数
所以不能这么写
百度一下发现可以这么写
printf("%.*lf",c,a/b);
所以整个程序可以写成:
#include<stdio.h>
int main() {
double a,b;
int c,kase=0;
while(scanf("%lf %lf %d",&a,&b,&c),a!=0||b!=0||c!=0) {
printf("Case %d : %.*lf\n",++kase,c,a/b);
}
return 0;
}
如此应该可以符合题意~
话说……
有没有这些题的OJ啊……
一会再去找一找……