注册 登录
编程论坛 C++教室

[求助]解释一段程序代码

hemingsheng 发布于 2007-07-06 13:11, 418 次点击

#include <iostream.h>
void main()
{
int i,a[10];
float j=0;
int x,y=a[0];
for(i=0;i<10;i++)
{
cout<<"请输入成绩: ";
cin>>a[i];
j=j+a[i];
}j=j/10;
cout<<"平均成绩: "<<j<<endl;
cout<<"最高分: ";
for(i=0;i<10;i++)
if(x<a[i])
x=a[i];
cout<<x<<endl;
cout<<"最低分: ";
{
for(i=0;i<10;i++)
if(y>a[i]) y=a[i];
cout<<a[i]<<endl;
}
for(i=0;i<10;i++)
cout<<"输出成绩: "<<a[i]<<' '<<endl;
}

为什么最低分固定为10????
3 回复
#2
stupid_boy2007-07-06 13:36

给你修改了一下

#include <iostream.h>
void main()
{
int i,a[10];
float j=0;
int x,y;
for(i=0;i<10;i++)
{
cout<<"请输入成绩: ";
cin>>a[i];
j=j+a[i];
}j=j/10;
y=a[0];
cout<<"平均成绩: "<<j<<endl;
cout<<"最高分: ";
for(i=0;i<10;i++)
if(x<a[i])
x=a[i];
cout<<x<<endl;
cout<<"最低分: ";

for(i=0;i<10;i++)
{
if(y>a[i]) y=a[i];
}
cout<<y<<endl;
for(i=0;i<10;i++)
cout<<"输出成绩: "<<a[i]<<' '<<endl;
}


我的VC6.0通过...

#3
aipb20072007-07-06 13:40
int x,y=a[0]; //这个时候a[0]为不确定值

x要求最高分,你给它初始化为 0;
y要求最低分,你给它初始化为 100;
int x = 0,y = 100;

最好是在两个求最高最低分的if语句前定义变量,直接初始化为a[0];
#4
hemingsheng2007-07-06 14:05
已經解決 謝謝各位~~
1