题目
给定N个学生的基本信息,包括学号(由12个数字组成的字符串)、姓名(长度小于20的不包含空白字符的非空字符串)、高等数学成绩、C语言程序设计成绩,成绩均为[0,100]区间内的整数,要求统计高等数学成绩及格的人数,并按输入顺序给出高等数学及格学生名单。
输入格式:
输入在一行中给出正整数N(≤10)。 随后N行,每行给出一位学生的信息,格式为“学号 姓名 高等数学成绩 C语言程序设计成绩”,中间以空格分隔。
输出格式:
首先在一行中输出高等数学及格人数,然后按照输入顺序,每行输出一位该成绩及格的学生的学号和姓名,间隔一个空格。
输入样例:
3
201410300106 wanyun 70 88
201618050322 zhangyu 59 60
201509210118 lixiao 80 80
输出样例:
2
201410300106 wanyun
201509210118 lixiao
代码
#include <iostream>
using namespace std;
struct student
{
string num;//题目已经明确指出是用字符串,所以不能用char.char是字符类型
char name[21];//测试点1::20是名字,21是‘\0’
int math;
int c;
}ren[10];
int main()
{
int n;
cin>>n;
int pass=0;
int i;
for(i=0;i<n;i++)
{
cin>>ren[i].num>>ren[i].name>>ren[i].math>>ren[i].c;
if(ren[i].math >=60) pass++ ;
}
cout<<pass<<endl;
for(i=0;i<n;i++)
{
if(ren[i].math >=60)
{
cout<<ren[i].num <<" "<<ren[i].name<<endl;
}
}
return 0;
}