攻城掠地夏侯觉醒条件:我的程序哪里错了?谢谢!急~~~

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/03 05:01:16
求三个数的最大,最小值.
/* 求3个数大小 */
#include "stdio.h"
main()
{
int x,y,z,a,;
printf("请输入3个数值:");
scanf("%d%d%d",&x,&y,&z);
a=x+y+z;
b=(x+y+z)/3;
c=x*y*z;
printf("Sum is %d\n",a);
printf("Average is %d\n",b);
printf("Product is %d\n",c);

if(x<y&&y<z)
printf("ffffff:%d %d %d\n",x,y,z);
return 0;

}

首先你这里的b输出的并不是实际的平均值,因为你是一个整数除以3,但是这个整数未必是3的倍数,比如三个数的和是8,输出的平均值就是2

后面的逻辑有问题,如果你的x<y&&y<z不成立,那么就不会输出三个数比较的大小
可以这样写
#include "stdio.h"
main()
{
int x,y,z,a,c,max,min;
float b;
printf("请输入3个数值:");
scanf("%d%d%d",&x,&y,&z);
a=x+y+z;
b=(x+y+z)/3.0;
c=x*y*z;
printf("Sum is %d\n",a);
printf("Average is %f\n",b);
printf("Product is %d\n",c);

if(x<y){
min = x;
max = y;
}else{
min = y;
max = x;
}
if(min>z){
min = z;
}
if(max<z){
max = z;
}
printf("最大值为%d,最小值为%d",max,min);

return 0;
}

那个 #include "stdio.h" 也应该该成#include <stdio.h>

直接排序得了哈,另外一般情况下#include <stdio.h>与#include "stdio.h"没有区别的。前者是先在系统里寻找头文件,后者是先在自己工程里寻找,只有当工程里和系统里都有同一个名字的头文件的时候会产生区别,编译器先找到哪个就使用哪个哈