【看书】输出不确定位数的小数

《算法竞赛入门经典》P35 习题2-5 


分数化小数 (decimal)


问题描述:

输入正整数abc,输出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啊……

一会再去找一找……




原文地址:https://www.cnblogs.com/BoilTask/p/12569949.html