C语言
#include <stdio.h>
int main()
}
float f,c;
f=64.0;
c=(5/9)*(f-32);
printf( "f=%f\nc=%f\n" , f , c);
return 0;
}
要求:请输出结果为保留2位小数,并显示格式为数值后面+摄氏温度符号C,该符号不能直接输出,请设置为由int a提供。例如:17.77C.
C语言问题不能够理解
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- breeze亭瞳 2022-03-11 18:13关注
#include <stdio.h>
int main()
{
int i;
float f,w;f=64.0; w=(5.0/9)*(f-32); i=67; printf("%.2f%c",w,i);
return 0;
}
你需要注意三个:
1.整数相除的问题:
第一种情况,被除数除以除数,小数部分会被抹去。
比如:9/2=4,-9/2=-4
第二种情况,被除数如果小于除数,结果会为0。
比如:1/2=0
(像你上面那个5/9算出来会直接为0)
第三种情况 ,不管是被除数,还是除数只要有一个为浮点数,即结果为浮点数。
比如:1.0/2=0.5
(你的代码就需要改为,5.0/9或是5/9.0,结果都会是浮点数。)2.ASCII码值的转换:
26个字母在ASCII码表里都有对应的ASCII值,大写的C对应的ASCII码值是67(大小写字母对应的ASCII码值有区别,相差值为32)
在代码中,那个变量i是int型的
你想要的是C这个字符,直接用字符的格式控制符%c即可。虽然int的格式控制符是%d,不过没关系,在ASCII码表里的字符,在int和char类型之间可以转换,不会报错的。
即最后i输出的就是大写的C。
3.小数位数的控制:
保留2位小数,就是%.2f
保留3位小数,就是%.3f
注意,数字前面有个小数点。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 表达式必须是可修改的左值
- ¥15 如何绘制动力学系统的相图
- ¥15 对接wps接口实现获取元数据
- ¥20 给自己本科IT专业毕业的妹m找个实习工作
- ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
- ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
- ¥50 mac mini外接显示器 画质字体模糊
- ¥15 TLS1.2协议通信解密
- ¥40 图书信息管理系统程序编写
- ¥20 Qcustomplot缩小曲线形状问题