c语言中如何用printf输出一个分数?

如题所述

如果采用float或者double定义数据类型,则无法以分数形式输出,原因是该数据类型的计算结果会采用二进制小数表示,出现误差而无法用分数精确表示。

如果需要用分数形式输出,最好的方法是采用两个int类型的变量储存分子和分母,手动计算分数的加减乘除,这样输出的时候只需要按照整数的输出方式,手动添加分数线即可。

具体方法可以参考如下程序段:

int num;  // 定义分子
int den;  // 定义分母
double a = 3.5; 
num = 7;  // 3.5的分子
den = 2;  // 3.5的分母
printf("%d\n", num);  // 输出分子并换行
printf("----\n");     // 输出分数线并换行
printf("%d\n", den);  // 输出分母并换行

温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜