C语言程序请教

来源:百度知道 编辑:UC知道 时间:2024/05/22 02:18:21
本人是新手,遇到这个题目:输入“华氏F”,根据公式C=5/9*(F-32),输入要有说明,输出结果保留小数点三位。
我编了半天老是错,希望指点一下我的错误,并希望提供正确答案供参考:
#include<stdio.h>
main()
{ int F,C;
printf("Enter F temperature:");
scanf("%f\n",&F);
C=5/9*(F-32);
printf("%.3f\n",C);
}

此外,float和int我弄的不是很清楚,两个好像都是用来定义的。有些题目里一会儿用int一会儿用float,有时用int得不出结果用float就行,弄得我很晕。希望告知float得使用方法和表示意思。
谢谢

faint~~

double ft, ct;
printf....;
scanf("%lf", &ft);
ct = ...
printf....;

你错在两个地方:
int 要用 float or double
scanf里不要用\n

int = integer 整数
float = 单精度浮点数(小数)
double = 双精度浮点数(小数)

int表示整形,是去掉小数部分的,你程序里面C是int,C=5/9*(F-32)这个有错的,5/9=0.55555555……,由于这个是赋给C的,是整形,会去掉小数部分,就相当于C=0*(F-32),C就只能是0

int用于整数 float用于小数

你改成float试试