关闭

项目7-体验文件操作

492人阅读 评论(0) 收藏 举报
    (2-热身)从键盘读入10名学生的英语成绩,编程求出这次考试的平均成绩,并统计输出优秀人数和不及格人数。
 (3-实战)文件english.dat(BB平台下载,该文件要和源程序在同一文件夹中)中已经有了学生的成绩数据,请改编(2)中的程序,编程求出这次考试的平均成绩,并统计输出优秀人数和不及格人数。

 (4-实战)编程求出这次考试的最高成绩,以及得最高成绩的学生的学号(设学号即是相应数组元素的下标)。


#include<iostream>
#include<fstream>
#include<cstdlib>
using namespace std;
int main()
{
	int a[10];
	double sum=0;
	double ave=0;
     ifstream infile("123.txt");
//     infile.open("123.txt");
     if(!infile)
	 {
	 	cerr<<"file is not open..";
	 	exit(1);
	 }
	 	for(int i=0;i<10;i++)
	{
		cout<<"输入第";
		cout.width(2);
		cout<<i+1<<"名学生成绩: ";
		infile>>a[i];
		cout<<a[i]<<endl;
	}
       infile.close();
	int m=0,n=0;
	int max=0;
	for(int i=0;i<10;i++)
	{
		if(a[i]>max)max=a[i];
		if(a[i]>=80)m++;
		if(a[i]<60)n++;
		sum+=a[i];
	}
	int num=0;
	for(int i=0;i<10;i++)
	{
		if(max==a[i]){num++;}
	}
	ave=sum/10;
	cout<<"平均成绩为:"<<ave<<endl;
	cout<<"优秀人数为:"<<m<<endl;
	cout<<"不及格人数为:"<<n<<endl;
	cout<<"成绩最高人数为:"<<num<<endl;
	cout<<"他们的学号是:";
	for(int i=0;i<10;i++)
	if(max==a[i])cout<<i<<"  ";
	return 0;
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:79274次
    • 积分:2083
    • 等级:
    • 排名:第18380名
    • 原创:126篇
    • 转载:13篇
    • 译文:1篇
    • 评论:11条
    最新评论