C语言习题 成绩输出

C语言习题 成绩输出

时间: 1ms        内存:128M

描述:

输入n(<=10)个学生的姓名、学号和成绩,将其中不及格者的姓名、学号和成绩输出。

输入:

第一行 n
第二行到第n+1行,每行一个学生的姓名、学号和成绩。

输出:

不及格者的姓名、学号和成绩。

示例输入:

3
zhang 1001 100
li 1002 59
sun 1003 0

示例输出:

li 1002  59
sun 1003  0

提示:

参考答案(内存最优[748]):

#include<stdio.h>
typedef struct Stu
{
   char name[40];
   int stu_number;
   int grate;
}Stu;
int main()
{
    int i,n;
 Stu student[10]={0};
 scanf("%d",&n);
    for(i=0;i<n;i++)
    {
  scanf("%s %d %d",student[i].name,&student[i].stu_number,&student[i].grate);
 }
 for(i=0;i<n;i++)
 {
  if(student[i].grate<60)
  {
   printf("%s %d  %d\n",student[i].name,student[i].stu_number,student[i].grate);
  }
 }
    return 0;
}

参考答案(时间最优[0]):

#include <iostream>
#include <string>
using namespace std;
const int N=10;
string name[N];
int num[N],score[N];
void input_data(int n)
{
    int i;
    for (i=0; i<n; i++)
    {
        cin>>name[i]>>num[i]>>score[i];
    }
}
int main()
{
    int i,n;
    cin>>n;
    input_data(n);
    for(i=0; i<n; i++)
        if(score[i]<60)
            cout<<name[i]<<" "<<num[i]<<"  "<<score[i]<<endl;
    return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注