c语言平均值的问题”读入三个双精度数,求它们的平均值并保留此平均值小数点后一位数,对小数点后第二位数进行四舍五入,最后输出结果“ 小弟刚学 有很多不懂的 还有就是具体怎么写呢
c语言平均值的问题”读入三个双精度数,求它们的平均值并保留此平均值小数点后一位数,对小数点后第二位数进行四舍五入,最后输出结果“ 小弟刚学 有很多不懂的 还有就是具体怎么写呢
c语言平均值的问题
”读入三个双精度数,求它们的平均值并保留此平均值小数点后一位数,对小数点后第二位数进行四舍五入,最后输出结果“ 小弟刚学 有很多不懂的 还有就是具体怎么写呢
c语言平均值的问题”读入三个双精度数,求它们的平均值并保留此平均值小数点后一位数,对小数点后第二位数进行四舍五入,最后输出结果“ 小弟刚学 有很多不懂的 还有就是具体怎么写呢
所谓双精度数,就是对应c语言的double型变量.比如定义变量:double x,y,z; 要求包含math.h
读入,一般指从键盘输入.如:scanf("%lf %lf %lf\n",&x,&y,&z); 要求包含stdio.h
求平均值,就是求和再除以双精度数据个数.比如:double pj; pj=(x+y+z)/3;
保留一位小数,可利用取整的方式来实现.如:int s; s=(int)(pj*10+0.5); pj=(double)s/10;
输出结果用到printf语句.如:printf("平均值=%lf\n",pj);
程序:
#include
#include
void main()
{ double x,y,z,pj;
int s;
scanf("%lf %lf %lf\n",&x,&y,&z); //连续输入3个浮点数,中间用空格分开
pj=(x+y+z)/3; s=(int)(pj*10+0.5); pj=(double)s/10; //比如计算12345.67,保留一位小数
//先算12345.67+10+0.5=123457.2四舍五入
//然后再取整数123457保留位数截断尾数
//最后再除回去12345.7
printf(("平均值=%lf\n",pj);
}