算法竞赛入门经典(3) – 输出不确定位数的小数

文章字数:280

《算法竞赛入门经典》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版的博文编辑器~

当小数的位数定的时候可以写成

1
printf("%.4lf",a/b);

这次要输出一个位数不定的小数

所以不能这么写
百度一下发现可以这么写

1
printf("%.*lf",c,a/b);

所以整个程序可以写成:

1
2
3
4
5
6
7
8
9
#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啊……
一会再去找一找……

加载中...