C++求平均值计算如何使求得的值只保留一位小数,在线等!
发布网友
发布时间:2022-05-02 07:48
我来回答
共2个回答
热心网友
时间:2023-10-12 07:21
#include <iostream>
#include <cmath>
double test(const double input) {
if (input == 0) { return input; }
double int_part;
double fract_part;
fract_part = std::modf(input,&int_part);
{
fract_part *= 10;
fract_part = std::round(fract_part);//c++11 四舍五入
fract_part /= 10.0f;
}
return fract_part + int_part;
}
int main() {
std::cout << test(3.1415) << std::endl;
std::cout << test(3.1515) << std::endl;
std::cout << test(-3.1415) << std::endl;
std::cout << test(-3.1515) << std::endl;
#ifdef _MSC_VER
system("pause");
#endif
}
热心网友
时间:2023-10-12 07:22
average=sum/num
首先说明一下,average应该是一个float型的变量。至于float型的变量保留几位小数,这个是标准决定的,不是受你控制的。
显示为几位小数,是显示的问题。
你应该设置显示的格式。或者你可以将其转换为字符串,然后显示字符串
例如 char buf[100];
sprintf(buf,"%.1f",average);
然后显示buf就是追问可是MFC编程中用不上Cout和sprintf语句啊- -
只有这样一条语句DDX_Text(pDX, IDC_EDIT2, average);控制显示average
追答void AFXAPI DDX_Text( CDataExchange* pDX, int nIDC, CString& value );
sprintf是 C标准库函数,是可以用的。
DDT_Text的一个重载版本最后一个参数可以是CString类型,可以使用
CString ave(buf);
来构建一个CString对象
C++求平均值计算如何使求得的值只保留一位小数,在线等!
include <iostream>#include <cmath>double test(const double input) { if (input == 0) { return input; } double int_part; double fract_part; fract_part = std::modf(input,&int_part); { fract_part *= 10; fract_part = std::round(fract_part);//c++11 四舍五入 fract...
在C语言中求三个数5、8、9的平均值,结果保留一位小数?
在计算平均值时,需要将三个数的和除以3.0,而不是3,这样可以得到一个浮点数结果。使用%.1f格式化输出,可以将结果保留一位小数。
c语言 从键盘输入2个数,求2个数的平均数,小数点后保留1位输出.
printf("数%.1f和数%.1f的平均数等于%.1f\n",a,b,(a+b)/2);}
在EXCEL求平均值中,如何保留一位小数。如何使用公式计算
1.=ROUND(AVERAGE(A1:C1),1)2. =ROUNDDOWN(AVERAGE(a1:c),2) 或 =LEFT(AVERAGE(A1:C1),FIND(".",AVERAGE(A1:C1))+2)
...平均成绩和全组总科目的平均成绩。保留一位小数,求全代码
aver+=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2]);//求总科目平均分 } aver/=3;for(i=0;i<3;i++)//求每科平均分 { for(j=0;j<5;j++)average[i]+=stu[j].score[i];average[i]/=5;} printf("每科平均分为:");for(i=0;i<3;i++)printf("%5.1f",...
C语言编程,输入三个双精度的数,求他们的平均值后,保留小数点后一位...
include"stdio.h"int main(){ double a,b,c,ans;scanf("%lf%lf%lf",&a,&b,&c);ans=(a+b+c)/3;printf("%.1lf\n",ans);//格式化输出1位小数,后面自动四舍五入的 return 0;}
...的平均值并保留此平均值小数点后一位数,对小数点后第
include<stdio.h>void main(){ int i,j; double x,y,z,ave; printf("请输入三个数:"); scanf("%lf %lf %lf",&x,&y,&z); ave=(x+y+z)%3.0; i=ave*100; i=i%10;//得到小数点百分位上的数 j=ave*10; if(i>=5){ j+=1; ave=(dou...
C语言中对求得的值取小数点后一位,对第二位按四舍五入处理怎么操作
所以对于保留整数的小数来说,我们只需在其原来的基础上+0.5后再进行强制类型转换,就可以达到不会出错的四舍五入【回答】这是啥方法【提问】以此为基础,我们就可以进行其他小数点后n位数的保留.如对上面329.835保留两位小数 我们则可将其先乘以100转化为32983.5后再重复上面的+0.5的取整法,...
输入三个实数,求出它们的平均值,结果保留一位小数,用c语言程序设计编写...
float a,b,c;scanf("%f%f%f",&a,&b,&c);prinft("%0.1f",(a+b+c)/3);
C程序中“读入三个双精度数求平均值并保留此平均值小数点后一位且四...
// 12.6\x0d\x0ad+=0.5; //13.1\x0d\x0ad/=10; //1.31\x0d\x0aprintf("%.1lf\n",d); // 1.3\x0d\x0a\x0d\x0a很明显,若小数点后第二位小数大于等于5,就会往前一位进位。就是四舍五入了。其实\x0d\x0ad+=0.05;\x0d\x0a就能实现了。