黑马程序员技术交流社区
标题: 关于输出两个整数的平均数的问题 [打印本页]
作者: .Drenched 时间: 2014-4-21 21:54
标题: 关于输出两个整数的平均数的问题
本帖最后由 .Drenched 于 2014-4-24 02:32 编辑
我觉得下面的写法比上面的写法要好。因为输出的平均数不一定是整数。3+4=7,7/2=3.5。但是感觉不对,大家讨论下。
1>
- //提示用户输入两个整数,并输出两个整数的平均数
- #include <stdio.h>
- int main()
- {
- int number1,number2;
-
- printf("请输入第一个整数:");
-
- scanf("%d",&number1);
-
- printf("请输入第二个整数:");
-
- scanf("%d",&number2);
-
- int average = (number1+number2)/2;
-
- printf("%d\n",average);
-
- return 0;
- }
复制代码
2>
- //提示用户输入两个整数,并输出两个整数的平均数
- #include <stdio.h>
- int main()
- {
- int number1,number2;
-
- float average;
-
- printf("请输入第一个整数:");
-
- scanf("%d",&number1);
-
- printf("请输入第二个整数:");
-
- scanf("%d",&number2);
-
- average = (float)(number1+number2)/2.0;
-
- printf("%f\n",average);
-
- return 0;
- }
复制代码
作者: D调的沉默 时间: 2014-4-21 22:01
写的不好,因为返回值不一定是整数,如7+8=15 15/2=7.5.你所有的值都是拿整数接收了
作者: blz01003hm 时间: 2014-4-21 23:11
#include <stdio.h>
int main()
{
int number1,number2;
double average=0.0;
printf("请输入第一个整数:");
scanf("%d",&number1);
printf("请输入第二个整数:");
scanf("%d",&number2);
average = (double)(number1+number2)/2;//类型转换就行了
printf("%f\n",average);
return 0;
}
作者: 王绍明 时间: 2014-9-27 18:30
???????
作者: 计算机的淡定 时间: 2014-10-18 08:12
觉得下面的写法比上面的写法要好。因为输出的平均数不一定是整数。
作者: 飞奔的坦克 时间: 2014-11-1 00:12
这种方法是错误的,本质上没有解决平均数 是不是 为小数的情况。
比如 写个伪代码,你 试试就知道了。
double a;
a = (double )(10 / 3) ;
printf("%lf",a);
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |