C语言题目求助~~谢谢各位大侠了~~

来源:百度知道 编辑:UC知道 时间:2024/06/02 20:10:10
学生成绩统计
从键盘输入一个班(最多30人)的某门课程的学生成绩。当输入为负值时或已达30人时输入结束,分别统计下列内容:
(1)统计不及格人数并打印其学生名单
(2)统计成绩在全班平均分之上的学生人数并打印其学生名单.
(3)统计各分数段的学生人数及所占百分比.
运行效果: 学号 成绩 学号 成绩 学号 成绩 学号 成绩
2001 60 2002 80 2003 90 2004 100
2005 70 2006 40 2007 80 -1 -1
不及格人数:1 名单:2006
平均分:74.3
平均分机平均分之上的学生:2002,2003,2004,2007
不及格:14.3% 60-69分:14.3% 70-79分:14.3% 80-89分:28。6% 90-100分:28.6%
实验说明:学号,成绩输入小于0的数表示结束输入.

#include "stdafx.h"
#include <iostream>
using namespace std;
void Probality(int MinScore,int MaxScore,int Totalnumber,float Stdscore[30])
{ int k;
float Number1=0;
for(k=0;k<Totalnumber;k++)
if (Stdscore[k]>=MinScore&&Stdscore[k]<=MaxScore) Number1++;
cout<<(Number1*100)/Totalnumber<<"%"<<endl;
}
int main(int argc, char* argv[])
{ int StudentNumber[30],Failer[30],FailerNumber,TotalNumber,n,c;
float StdScore[30],AverageScore=0;
char jw;
for (;;)
{
cout<<"请您输入学生的学号与成绩(最大允许一次性输入30名学生的个人信息,不足时输入负值自动结束程序)"<<endl;
cout<<"学号 得分"<<endl;
for (n=0;;n++)
{ if (n>=30)
{ cout<<"您输入的学生信息已经超出系统允许范围,系统将自动退出,对前三十名学生信息进行处理。";
break;
}
cin>>StudentNumber[n]>>StdScore[n];
if (StudentNumber[n]<0||StdScore[n]<0) break;
Averag