c语言可以以分数的形式输出么?

如题所述

如果采用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);  // 输出分母并换行

扩展资料:

C语言参考函数

C语言isgraph()函数:判断一个字符是否是图形字符

C语言isdigit()函数:判断一个字符是否为数字

C语言iscntrl()函数:判断一个字符是否为控制字符

C语言isalpha()函数:判断一个字符是否是字母

C语言isalnum()函数:判断一个字符是否是字母或者数字

int islower(int ch) 若ch是小写字母('a'-'z')返回非0值,否则返回0

int isprint(int ch) 若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否则返回0

参考资料来源:百度百科-c语言

参考资料来源:百度百科-C语言函数

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-24

如果采用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);  // 输出分母并换行

第2个回答  推荐于2017-10-13
如果你采用float或者double存储数据,则无法以分数形式输出,原因是该方式会采用二进制小数,出现误差而无法用分数精确表示。
如果你想采用分数形式输出,最好的方法是采用两个int类型的变量储存分子和分母,手动计算分数的加减乘除,这样输出的时候只需要按照整数的输出方式,手动添加分数线即可追问

谢谢!那请问通过函数计算后的结果怎样用分数输出?比如计算y=x²+x/7,以及化成最简分数?

本回答被提问者采纳
第3个回答  2013-05-12
可以这样:
printf("%d/%d",1,2); --> 1/2追问

谢谢!那请问通过函数计算后的结果怎样用分数输出?比如计算y=x +x/7,以及化成最简分数?

第4个回答  2013-05-12
可以
相似回答