初学者对C语言一个问题

来源:百度知道 编辑:UC知道 时间:2024/05/29 19:06:06
计算已输入若干数值的最大.最小.合计和平均值。
提示: 数值个数不固定,直到遇到非法输入为止。
老师给了我一点提示但我还是不是很明白,请高手看下:"参见下述循环(输入非法结束,例如a,这时scanf("%lf",&x) != 1):

for (i=1; scanf("%lf",&x) == 1; ++i) "
请问,这个题目中如何在程序中求出最大值?合计?平均值?请尽量写出如何输入N个值和求最大值以及平均值部分源程序,谢谢!
另外:我们目前只学到了for循环,而老师也说这体对应的是for循环等语句的题目(我们还没有学到数组,函数头也只学了stdio.h).请各位大虾尽量使用for循环来解释下这题,并请告诉如何在程序中表示N个数中求出最大植,谢谢^^!
写出来我给他加分^^

每次输入一个数回车,或以空格隔开,直到输入负数为止
#include<stdio.h>
void main()
{
float i,x=0,sum=0,aver=0,max=0,min=0;
for(i=1;;i++)
{
scanf("%f",&x);
if(x<0)
break;

sum+=x;
if(max<x)
max=x;
if(i==1)
min=x;
if(min>x)
min=x;
}

aver=sum/--i;
printf("\nmax=%f min=%f sum=%f aver=%f",max,min,sum,aver);
}

建议你去找本C语言基础的书看看

#include <stdio.h>

long float max,sum,ave;//定义3个变量存目标值
long float x; //X存当前输入值
int i;
sum=ave=0;//初始化;
void main()
{
for(i=1;scanf("%lf",&x);i++)//这样写可以判断输入合法性
{
if(i=1)max=x;//首次输入值赋给max
if(max<x)max=x;//求最大值
sum+=x;//求和
}
ave=sum/--i;//求平均值
//显示结果,printf()函数应该是最先接触的C函数吧
printf("max=%lf,sum=%lf,ave=%lf",max,sum,ave);
}//main

你们学过数组了吧!用数组很简单的!只能告诉你这些因为全部把答案告诉你。就失去了做题的意义!!!!使劲!!