6 回答
Must_so
TA贡献11条经验 获得超18个赞
#include<iostream> using namespace std; double ave(double a,double b) { return (a+b)/2.0; } int main() { double a,b; while (cin>>a>>b) { cout<<a<<"和"<<b<<"的平均数是"<<ave(a,b)<<endl; } }
这个是C++版,实现了多组数据的输入。测试结果如下:
#include<stdio.h> double ave(double a,double b) { return (a+b)/2.0; } int main() { double a,b; while (scanf("%lf %lf",&a,&b)!=EOF) { printf("%.2f和%.2f的平均数是%.2f\n",a,b,ave(a,b)); } }
这个是C语言版本,测试结果如下:
值得说明的是,C语言里面的浮点型在不限制小数点时默认是保留小数点后六位,C++默认则是如果小数部分超过六位则显示六位,不超过六位则显示完整的小数,后面不会补0,比如1.5就显示1.5而不会在后面补0.
C语言版的.2控制2位小数,C++控制输出会比C语言麻烦很多还要包含<iomanip>,写起来也麻烦。
浮点型数据的输入用lf但是输出最好用f,这在表面上没有区别,但在算法竞赛中有时(少数时候)会因为精度问题出错。
慕粉void
TA贡献17条经验 获得超7个赞
#include <stdio.h> double avg(double a, double b) { double average = (a + b) / 2.0; return average; } int main() { double a, b, average; scanf("%lf %lf", &a, &b); average = avg(a, b); printf("%lf\n", average); return 0; }
王厚骅
TA贡献4条经验 获得超3个赞
#include <stdio.h> double funcS(float a,float b) { double s=(a+b)/2; return s; } int main() { float a; float b; scanf("%d,%d\n",&a,&b); double s = funS(a,b); printf("%d\n",s); }
代码工作原理解析:
运行后,输入第一个数,再输入逗号(英文半角),再输入第二个数,回车。
程序会自动输出平均数并换行。
噼喱啪啦
TA贡献392条经验 获得超170个赞
用一个函数
int avg(int x,int y) { //返回类型是int,传入的两个参数都是int类型
return (x+y)/2; //将传入的两个数相加再除以2,也就是平均数,返回这个数值.
}
这样你就可以实现了,比如有一个数int a=20;另外一个数int b=10;
则平均数为int c=avg(a,b); //变量c是为了接收这个函数的返回值,也就是接收平均值
- 6 回答
- 0 关注
- 2453 浏览
添加回答
举报
0/150
提交
取消