拜托各位C语言大师指点一下~

#include<stdio.h>

int main()
{
int cnt=0,n;
float max,x;
printf("the maximum value will be computed.\n");
printf("how many numbers do you wish to enter?");
scanf("%d",&n);
while(n<=0)
{
printf("\nERROR: Positive integer reguired.\n");
printf("\nHow many numbers do you wish to enter?.");
scanf("%d",&n);
}
printf("\n enter %d real numbers: \n",n);
scanf("%f",&x);
max=x;

while(++cnt<n)
{

scanf("%f",&x);
if(max<x)
max=x;
}
printf("\nMaximum value:%g\n",max);
return 0;
}

这段程序里 while(++cnt<n)
{

scanf("%f",&x);
if(max<x)
max=x;
}
这部分不太明白 请帮忙解释一下 多谢

while(++cnt<n)
{

scanf("%f",&x);
if(max<x)
max=x;
}
是一个循环体:
其中
while表示开始循环,循环的内容就是{ }符号中间的内容。
++cnt<n,是一个循环退出的标志,也就是说,当cnt < n的值的时候就退出
++cnt的意思就是,先自己加1,再使用。
++cnt<n可以拆分成两条代码。 cnt = cnt + 1; cnt < n
如果写成cnt++ < n;则两条代码为cnt < n;cnt = cnt + 1;
中间的内容就是;scanf("%f",&x);从键盘接收一个浮点数,就是小数
然后判断输入的数是否比原来的数大,如果大,就把当前这个数覆盖原来那个数,整个流程,就是一个找用户输入的最大数的过程。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-03-03
取N次你输入最大的数!
读取一次x ,然后和MAX比较,若X大,则取X!直到循环结束
第2个回答  2010-03-03
总共读取n个浮点数(float),找出其中的最大值,保存到max变量中.