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

 我来答
四舍五不入6
高粉答主

2020-02-27 · 醉心答题,欢迎关注
知道答主
回答量:147
采纳率:100%
帮助的人:1.7万
展开全部

如果采用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语言函数

天云小店
推荐于2017-09-24 · TA获得超过2.8万个赞
知道大有可为答主
回答量:3281
采纳率:91%
帮助的人:721万
展开全部

如果采用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);  // 输出分母并换行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hockey_for_NOI
推荐于2017-10-13 · 超过11用户采纳过TA的回答
知道答主
回答量:23
采纳率:0%
帮助的人:33.5万
展开全部
如果你采用float或者double存储数据,则无法以分数形式输出,原因是该方式会采用二进制小数,出现误差而无法用分数精确表示。
如果你想采用分数形式输出,最好的方法是采用两个int类型的变量储存分子和分母,手动计算分数的加减乘除,这样输出的时候只需要按照整数的输出方式,手动添加分数线即可
追问
谢谢!那请问通过函数计算后的结果怎样用分数输出?比如计算y=x²+x/7,以及化成最简分数?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
niaoshiga4
2013-05-12 · TA获得超过217个赞
知道小有建树答主
回答量:250
采纳率:0%
帮助的人:195万
展开全部
可以这样:
printf("%d/%d",1,2); --> 1/2
追问
谢谢!那请问通过函数计算后的结果怎样用分数输出?比如计算y=x +x/7,以及化成最简分数?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
siwzyyy
2013-05-12
知道答主
回答量:20
采纳率:0%
帮助的人:2.3万
展开全部
可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式