搜索
查看: 5094|回复: 15
打印 上一主题 下一主题

哪位大神请帮我看看为什么输出总是-17.777778

[复制链接]
跳转到指定楼层
楼主
发表于 2014-3-9 17:33:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
5啊哈币

#include <stdio.h>
#include <stdlib.h>
int main()
{
double Fahrenheit,Celsius;
    printf("Please enter the temperrature in degrees Fahrenheit:");
    scanf("%f", &Fahrenheit);
    Celsius=(5.0/9.0)*(Fahrenheit-32.0);
    printf("It's %f degrees",Celsius);

system("pause");
return 0;
}

沙发
发表于 2014-3-9 17:33:29 | 只看该作者
本帖最后由 李掌柜 于 2014-3-9 18:51 编辑
  1. //第八行多加个l就行了~~~
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. int main()
  5. {
  6.         double Fahrenheit,Celsius;
  7.     printf("Please enter the temperrature in degrees Fahrenheit:");
  8.     scanf("%lf", &Fahrenheit);    //双精度的格式一般为lf
  9.     Celsius=(5.0/9.0)*(Fahrenheit-32.0);
  10.     printf("It's %lf degrees",Celsius);

  11.     system("pause");
  12.     return 0;
  13. }
复制代码
板凳
 楼主| 发表于 2014-3-9 18:37:58 | 只看该作者
还是不行!
地板
发表于 2014-3-9 18:44:51 | 只看该作者

怎么会不行呢,例如我输入31,32,33这三个数,你自己看图片罗~~

31.png (79.58 KB, 下载次数: 72)

31

31

32.png (93.11 KB, 下载次数: 64)

32

32

33.png (87.17 KB, 下载次数: 77)

33

33
5#
 楼主| 发表于 2014-3-9 19:23:00 | 只看该作者

6#
 楼主| 发表于 2014-3-9 19:26:53 | 只看该作者
好的回复是对人的鼓励。
7#
发表于 2014-3-10 10:10:11 | 只看该作者

printf和scanf都成为%lf
8#
发表于 2014-3-10 10:10:28 | 只看该作者
李掌柜 发表于 2014-3-9 18:44
怎么会不行呢,例如我输入31,32,33这三个数,你自己看图片罗~~

什么编译器

点评

掌柜的用的编译器是: MinGW GCC 4.7.2 32-bit Release  发表于 2014-3-11 21:21
9#
发表于 2014-3-11 21:15:44 | 只看该作者
4399APPLE 发表于 2014-3-10 10:10
printf和scanf都成为%lf

浮点数long double 的写法,
所以在输入时,需要区分float(%f)与double(%lf),而在输出时,用%f即可

因为有除法和乖法,为了保正精确度,
详细可参见C Primer Plus 48页
格式什么的这位大神有写的很详细
http://blog.csdn.net/zfzf294990051/article/details/6303552

abc25.png (191.64 KB, 下载次数: 70)

abc25.png
10#
发表于 2014-3-11 21:20:30 | 只看该作者
4399APPLE 发表于 2014-3-10 10:10
printf和scanf都成为%lf

printf输出用%f
偶为了格式一致性,printf也写成了%lf格式~~
11#
发表于 2014-3-12 14:40:49 | 只看该作者
李掌柜 发表于 2014-3-9 18:44
怎么会不行呢,例如我输入31,32,33这三个数,你自己看图片罗~~

UNIX 系统??
12#
发表于 2014-3-12 14:43:29 | 只看该作者

和你说了mingw,怎么可能是unix
13#
发表于 2014-3-12 17:40:54 | 只看该作者

XP  呀~~
14#
发表于 2014-3-19 23:18:17 | 只看该作者
不用定义双精度型,直接定义单精度变量
15#
发表于 2014-3-19 23:30:00 | 只看该作者
shly900928 发表于 2014-3-19 23:18
不用定义双精度型,直接定义单精度变量

在学编程的前两年是不会用到float这东西的
而且或许以后永远不会用到……
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表