标题:t=(5+avg)/10; 程序中 avg加不加五有区别吗 答案是加五 我觉的加不加没 ...
取消只看楼主
WAN_N
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2020-8-17
结帖率:75%
已结贴  问题点数:20 回复次数:2 
t=(5+avg)/10; 程序中 avg加不加五有区别吗 答案是加五 我觉的加不加没区别 最后赋值是整形小数点后面的会省略
double fun(double x[10])
{
     int i;
     long t;

 double avg=0.0;
     double sum=0.0;
     for(i=0;i<10;i++)
/**********FILL**********/
          sum=sum+x[i];
     printf("sum=%lf",sum);
     avg=sum/10;
          printf("sum1=%lf",avg);
/**********FILL**********/
     avg=avg*1000 ;     
/**********FILL**********/
     t=(5+avg)/10;                // 为什么要加5  觉得加不加程序运行出来的结果都一样????????????????????????????????
          printf("sum2=%d",t);
     avg=(double)t/100;
     return avg;
}

void main()
{
     double avg,x[10]={15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,10.0,16.0};
     int i;
     printf("\nThe original data is :\n");
     for(i=0;i<10;i++)
        printf("%6.1f",x[i]);
     printf("\n\n");
     avg=fun(x);
     printf("average=%f\n\n",avg);
}
搜索更多相关主题的帖子: sum printf 区别 double 小数点 
2020-08-17 16:54
WAN_N
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2020-8-17
得分:0 
回复 2楼 lin5161678
我知道这样有区别 但是我想问的是基于那个程序的    就是avg=15.03 avg*1000=15030 在t=(avg+5)/10  这个     我是认为小数点后的都是要省略的所以加不加无所谓
2020-08-17 17:50
WAN_N
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2020-8-17
得分:0 
回复 2楼 lin5161678
等待 大佬解惑   这个好像是四舍五入问题 不怎么明白
2020-08-17 17:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-502890-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.126922 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved