![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
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语言函数
如果采用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); // 输出分母并换行
如果你想采用分数形式输出,最好的方法是采用两个int类型的变量储存分子和分母,手动计算分数的加减乘除,这样输出的时候只需要按照整数的输出方式,手动添加分数线即可
谢谢!那请问通过函数计算后的结果怎样用分数输出?比如计算y=x²+x/7,以及化成最简分数?
printf("%d/%d",1,2); --> 1/2
谢谢!那请问通过函数计算后的结果怎样用分数输出?比如计算y=x +x/7,以及化成最简分数?