当前位置:首页>java>【每日编程-14期】名校A上机题(三)

【每日编程-14期】名校A上机题(三)

  • 2026-08-11 22:53:21
【每日编程-14期】名校A上机题(三)
名校A上机题(三)

每日编程中遇到任何疑问、意见、建议请公众号留言或加入每日编程群聊739635399

建立一个学生信息系统,输入学生信息,输出有挂科同学的信息,再按照平均成绩从高到低排序输出。

输入样例:

5zhaoyi 70 80 90 240qianer 65 32 77 174sunsan 100 55 68 223lisi 86 77 90 253wangwu 100 59 66 225

输出样例:

*[qianer] 65 32 77*[sunsan] 100 55 68*[wangwu] 100 59 66lisi 86 77 90zhaoyi 70 80 90wangwu 100 59 66sunsan 100 55 68qianer 65 32 77

(1)代码实现:

#includeusing name spacestd;typedefstruct{char name[20];float score1;float score2;float score3;int total;  }Student;voidswap1(Student s[],int i,int j){      Student temp = s[i];      s[i]=s[j];      s[j]=temp;  }voidfind_fail(Student s[],int n){//输出不及格的人数for(int i=0;i<n;i++){if(s[i].score1<60||s[i].score2<60||s[i].score3<60)cout<<"*["<<s[i].name<<"]"<<s[i].score1<<""<<s[i].score2<<""<<s[i].score3<<endl;      }cout<<endl;  }//按照平均成绩的高低输出voidprintByAverage(Student s[],int n){//按照基本的冒泡排序法按照成绩排序for(int i=0;i<n-1;i++)for(intj=n-1;j>i;j--)if(s[j-1].total>s[j].total)//逆序                  swap1(s,j-1,j);for(int k=n-1;k>=0;k--){cout<<s[k].name<<"";cout<<s[k].score1<<"";cout<<s[k].score2<<"";cout<<s[k].score3<<endl;      }  }intmain(){cout<<"输入学生的人数:";int n=0;cin>>n;      Student s[100];//假定最多输入100个学生的成绩cout<<"请依次输入学生的姓名,第一门课的成绩,第二门课的成绩,第三门课的成绩以及总分:"<<endl;for(int i=0;i<n;i++){cin>>s[i].name;cin>>s[i].score1;cin>>s[i].score2;cin>>s[i].score3;cin>>s[i].total;      }      find_fail(s,n);      printByAverage(s,n);      system("pause");return0;  }</n;i++){</s[k].score3<<</s[k].score2<<</s[k].score1<<</s[k].name<<</n</s[i].score3<<</s[i].score2<<</s[i].score1<<</s[i].name<<</n;i++){
明日预告:名校B上机题(一)
  1. 写一个程序,该程序的功能是输出100999之间的所有水仙花数。水仙花数的特点是:它的每个位上的数字的三次幂之和等于它本身。

例如:371=3^3+7^3+1^3,因此371是水仙花数。

输出样例:

153 370 371 407

最新文章

随机文章