搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 为什么输出的是整数不是小数呢?小白求教!
标题:
为什么输出的是整数不是小数呢?小白求教!
只看楼主
ws2016
等 级:
新手上路
帖 子:4
专家分:0
注 册:2016-8-2
结帖率:
0
楼主
已结贴
√
问题点数:20 回复次数:7
为什么输出的是整数不是小数呢?小白求教!
#include<stdio.h>
main()
{
int sum;
float avg;
int a=3;
int b=4;
sum=a+b;
avg=sum/2;
printf("output sum=%d\n",sum);
printf("output avg=%f\n",avg);
}
2016-08-14 01:47
吹水佬
等 级:
版主
威 望:
432
帖 子:10064
专家分:41463
注 册:2014-5-20
第
2
楼
得分:4
avg=(float)sum/2;
2016-08-14 05:31
w238390
来 自:%E6%B4%9B%E6%9D%89%E7%9F%B6
等 级:
新手上路
帖 子:29
专家分:7
注 册:2016-3-21
第
3
楼
得分:4
回复 楼主 ws2016
你好,我重新整理了你的代码。如果,sum是用float 定义。那么就是你想要的结果。所以,sum是整型变量相除的结果会自动取整数,不会显示小数部分。例:
#include<stdio.h>
main()
{
float avg,sum;
int a=3;
int b=4;
sum=a+b;
avg=sum/2;
printf("output sum=%d\n",sum);
printf("output avg=%f\n",avg);
}
富强、民主、文明、和谐、自由、平等、
公正、法治,爱国、敬业、诚信、友善。
2016-08-14 09:57
ws2016
等 级:
新手上路
帖 子:4
专家分:0
注 册:2016-8-2
第
4
楼
得分:0
回复 4楼 w238390
你这样写sum输出为0啊!!!!!!!!!!!!!!!
2016-08-14 10:31
ws2016
等 级:
新手上路
帖 子:4
专家分:0
注 册:2016-8-2
第
5
楼
得分:0
回复 2楼 吹水佬
谢谢你的建议,我明白了。
2016-08-14 10:33
ws2016
等 级:
新手上路
帖 子:4
专家分:0
注 册:2016-8-2
第
6
楼
得分:0
回复 4楼 w238390
我知道你这样写有一个错误,我整理了一下,这样才是正确的。
#include<stdio.h>
main()
{
float sum;
float avg;
int a=3;
int b=4;
sum=a+b;
avg=sum/2;
printf("sum=%f\n",sum);
printf("avg=%f\n",avg);
}
2016-08-14 10:38
向洪林
来 自:重庆市奉节县
等 级:
版主
威 望:
9
帖 子:118
专家分:405
注 册:2015-3-10
第
7
楼
得分:0
两个整型数相加为什么要把sum当作小数输出了,要使平均数avg输出为小数只需要将分母后加一个0就OK,avg=sum/2.0
新手上路,望大家多多照顾,谢谢!
2016-08-14 23:35
corpsetsui
等 级:
新手上路
帖 子:15
专家分:4
注 册:2016-3-4
第
8
楼
得分:4
printf("output avg=%f\n",avg);改为%X.f,X为你想要小数点多少位,如%1.f就是小数点后一位
2016-08-14 23:39
8
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-467839-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 1.437213 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved