读入三个双精度数,求它们的平均值并且保留此平均值小数点后一位数,对小数点后第二位数进行四舍五入.

 我来答
Mc_carine
2013-09-05 · 超过56用户采纳过TA的回答
知道答主
回答量:226
采纳率:0%
帮助的人:119万
展开全部
/*读入三个双精度数,求它们的平均值并保留此平均值小数点后一位数,对小数点后第二位数进行四舍五入,最后输出结果。*/

#include <stdio.h>
#include <string.h>
void main()
{
double a,b,c,d,e;
int g,h1,h2;
char f[20];
printf("请输入三个双精型\n");
scanf("%lf %lf %lf",&a,&b,&c);
d=(a+b+c)/3;
printf("原来未按要求执行返回的双精型\n");
printf("%lf\n",d);
e=d-(int)d; /*求小数部分*/
sprintf(f,"%f",e);/* 将小数转换成字符串*/
printf("转换成字符串之后的小数部分\n");
printf("%s\n",f);/*这一步是用来检测字符串是怎样的*/
g=strlen(f); /*计算字符串长度*/
printf("字符串长度:%d\n",g);
if(g>=3)
{
printf("处理好之后的平均值是\n");
h2=(int)f[3]; /* f[3]是字符型数据,强行取整之后,编程ASC值*/
if(h2>52) /*判断ASC码 4*/
{
h2=(int)f[2];
if(h2>56)
{
h2=48; /*进位直接写0的ASC码*/
h1=(int)d;
h1=h1+1;
}
else
{
h2=h2+1;
h1=(int)d;
}
/*转换成字符串之后一个个字符输出,好笨的办法,求大神精辟*/
printf("%d",h1);/*这里是取双精型的整,不用输出字符*/
printf("%c",f[1]);
printf("%c",h2); /*h2是取ASC码的值,所以要输出字符型数据*/
}
else{
printf("%d",h1=(int)d);
printf("%c",f[1]);
printf("%c",f[2]);}
printf("\n");

}
else{
printf("处理好之后的平均值是\n");
printf("%g\n",d);
}

}
百度网友713311912
推荐于2016-12-02 · TA获得超过182个赞
知道答主
回答量:135
采纳率:100%
帮助的人:151万
展开全部
他写的C++的,我写个C的:

#include<stdio.h>
main()
{
double a, b, c, d;

printf("输入三个双精度数\n");
scanf("%lf%lf%lf", &a, &b, &c);

d = ( a + b + c) / 3;

printf("%.1f\n", d);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a480e04
2021-08-04
知道答主
回答量:2
采纳率:0%
帮助的人:1141
展开全部
#include "stdio.h"
#include "string.h"
int main()
{
double num1=0,num2=0,num3=0,ave=0;
char temp[20] = {0};
printf("please input number:");
scanf("%lf%lf%lf",&num1,&num2,&num3);
ave = (num1+num2+num3)/3; //现在的结果还没做四舍五入运算
sprintf(temp,"%c",ave-(int)ave); //把小数部分都格式化到一个字符数组里

/*字符数组一定是0.xx,那么第二位小数是temp[3],所以判断它是否大于5,
因为它是字符,所以判断是否大于'5'
*/
if(temp[3] > '5') ave += 0.1;
printf("ave=%.1f",ave);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hgbubble
2008-01-28 · TA获得超过624个赞
知道小有建树答主
回答量:742
采纳率:0%
帮助的人:0
展开全部
#include <iostream>
#include <iomanip>
using namespace std;
void main()
{
double a,b,c;
cin>>a>>b>>c;
double d;
d=(a+b+c)/3;
cout<<setiosflags(ios::fixed);
cout<<setprecision(2)<<d<<endl;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式