有个小问题请教大家

rainywind 2004-01-29 09:31:04
读入三个双精度数,求它们的平均值并保留此平均值小数点后一位,对小数点后

第二位数进行四舍五入,最后输出结果。

这道题怎么做呀?请大家教教我,小弟万分感谢!
...全文
43 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
rainywind 2004-01-30
  • 打赏
  • 举报
回复
虽然还是不明白,但是,还是给大家分。
KingI 2004-01-29
  • 打赏
  • 举报
回复
#include <stdio.h>
main()
{
double x1,x2,x3,ave;
long temp;
printf ("Input 3 numbers:\n"); /*输入3个数*/
scanf ("%lf%lf%lf", &x1,&x2,&x3);
ave=(x1+x2+x3)/3.0; /*求平均数*/
/*进行四舍五入转换*/
temp=ave*10;
temp=(ave*10-temp)*2+temp; /*四舍五入,乘以2是为了检验平

均数小数点后两位是否>=5,若>=5则进1,否则不进*/
ave=temp/10.0; /*还原平均数*/
printf ("ave=%.11lf",ave);
return 0;
}

若取小数点后2位,只要把10改为100就可以了,依此类推.
yyfeng76 2004-01-29
  • 打赏
  • 举报
回复
int main(void)
{
double data[3] = {1.313, 2.0, 2.323};
double result = data[0] + data[1] + data[2];
/*result += 0.05;*/
printf("%4.1f", result);
system("PAUSE");
}
你看这样行不行?也请高手指教。
rainywind 2004-01-29
  • 打赏
  • 举报
回复
大哥,,我还是不知道怎么做。。。我是初学的菜鸟。。郁闷 :(
angelo23 2004-01-29
  • 打赏
  • 举报
回复
这个是显示,并没有对数值本身做处理
可以
#include <math.h>
f = cell( f * 10.0 ) / 10.0;
pacman2000 2004-01-29
  • 打赏
  • 举报
回复
printf("%.1f",d+0.05);
其他的自己做一下吧。
rainywind 2004-01-29
  • 打赏
  • 举报
回复
写出程序好吗?我刚学C语言。。。
pacman2000 2004-01-29
  • 打赏
  • 举报
回复
四舍五入可以用(d+0.05)来做。

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧