编译无误,运行出错
程序代码:
#include <iostream> #include<stdlib.h> #include <iomanip> using namespace std; int main() { int id[5]; int china[5]={75,80,85,52,86}; int math[5]; int i,max=0,y,x; int j[8]; int sum[5],sum1[5]; for(i=0;i<5;i++) { cout<<"请输入学号"<<endl; cin>>id[i]; cout<<"请输入数学成绩"<<endl; cin>>math[i]; } for(i=0;i<5;i++) { sum[i]=china[i]+math[i]; sum1[i]=sum[i]; //为了不改变sum数组的值,先将sum赋值给 sum1 } for(i=0;i<5;i++) //将总成绩最大的数数组下标赋值到J数组,从而得到名次 { for(y=0;y<5;y++) { if(max<sum1[y]) { max=sum1[y]; j[i]=y; } } x=j[i]; sum1[x]=0; } cout<<"学号 语文 数学 总分 均分 名次"<<endl; for(i=0;i<5;i++) { y=j[i]; cout<<id[y]<<setw(6)<<china[y]<<setw(6)<<math[y]<<setw(6)<<sum[y]<<setw(6)<<sum[y]/2<<setw(6)<<i+1<<endl; } return 0; }请问那出错了?编译没错误,运行时,输入10个数据后没输出结果
并且,有没有更好的算法。谢谢
[ 本帖最后由 a99875984 于 2012-11-7 23:00 编辑 ]