c语言问题:输入一批整数,求其中最大,最小值和平均值

来源:百度知道 编辑:UC知道 时间:2024/05/27 02:03:53
#include<math.h>
#include<stdio.h>
main()
{float min,max,x,s=0;
int n=0;
scanf("%f",&min);
max=min;n++;s+=x;
while(!feof(stdin))
{
scanf("%f",&x);
n++;
s+=x;
if(max<x)max=x;
else if(min>x)
min=x;
}
printf("%f%f",min,max);
printf("%f",s/n);
}
我这样输入有什么问题吗?为什么我运行不出结果?
应该是用键盘读入一批数,我写错了
我同学写了另外一段,我运行还是不行
void main()
{
float min,max,x=0,s=0;
int n=0;
scanf("%f",&x);
max=min=x;
while(x!=-1)
{
n++;
s+=x;
if(max<x)max=x;
else if(min>x)
min=x;
scanf("%f",&x);
}
printf("min=%f\nmax%f\n",min,max);
printf("avg=%f",s/n);
}

#include<math.h>
#include<stdio.h>
int main(void)
{
float min,max,x,s=0;
int n=0;

max=min=1.0;
while(scanf("%f",&x)==1)
{
n++;
s+=x;
if(max<x)max=x;
if(min>x)min=x;
}
printf("min=%f\nmax=%f\n",min,max);
printf("agv=%f\n",(float)s/n);

return 0;
}
输入任何字符结束程序.通过测试
另外你的编程风格不是很好,
要和你同学学学哦!

s =x;此句中的x还没有附值呢while(!feof(stdin)) 此句是判断已打开文件是否结束的意思,前提是首先要有打开文件的语句:fopen("","r")再用fscanf取得文件内容.如果是在程序运行中手动以键盘输入的话,直接写while(x) /*以输入0做结束*/{ scanf("%f",

按楼上的改一下,还有的错误是
第三行:改为void main()
第七行:s+=x是错的,x没有赋值,s+=x删掉。