鱼C论坛

 找回密码
 立即注册
查看: 1511|回复: 5

[已解决]字符和字符串 动动手1 华氏度

[复制链接]
发表于 2020-8-26 10:58:35 | 显示全部楼层 |阅读模式
5鱼币
兄弟萌  我想问下  为什么
  1. #include<stdio.h>

  2. int main()
  3. {
  4.         float i;
  5.         float o;
  6.        
  7.         printf("请输入华氏度:");
  8.         scanf("%f",&i);
  9.        
  10.         o=(i-32)*5/9;
  11.         printf("转换为摄氏度是:%.2f",o);
  12.        
  13.         return 0;
  14. }
复制代码

  1. #include<stdio.h>

  2. int main()
  3. {
  4.         float i;
  5.         float o;
  6.        
  7.         printf("请输入华氏度:");
  8.         scanf("%.2f",&i);
  9.        
  10.         o=(i-32)*5/9;
  11.         printf("转换为摄氏度是:%.2f",o);
  12.        
  13.         return 0;
  14. }
复制代码

结果不一样
就是scanf  2f 和%2f那边  输入45  一个结果是7.22 一个结果是17.78
最佳答案
2020-8-26 10:58:36
scanf是不能控制输入位数的,只能控制输入类型

最佳答案

查看完整内容

scanf是不能控制输入位数的,只能控制输入类型
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-8-26 10:58:36 | 显示全部楼层    本楼为最佳答案   
scanf是不能控制输入位数的,只能控制输入类型
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-8-26 11:01:04 | 显示全部楼层
额 输入错了  scanf %f和%.2f那边
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-8-26 11:04:29 | 显示全部楼层
sunrise085 发表于 2020-8-26 10:58
scanf是不能控制输入位数的,只能控制输入类型

好 谢谢= =这个我搞半天
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-8-26 11:13:44 | 显示全部楼层
scanf,只能控制输入长度,不能控制输入精度(即小数点后面的位数),如
  1. scanf("%5f",&i);//正确
  2. scanf("%5.2f",&i);//错误
复制代码

这里的输入长度包括小数点。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-8-26 11:28:44 | 显示全部楼层
Tau-li 发表于 2020-8-26 11:13
scanf,只能控制输入长度,不能控制输入精度(即小数点后面的位数),如
这里的输入长度包括小数点。

好的   谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-10 13:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表