标题:救救孩子啊,各位大神
只看楼主
秃头大凡
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2021-10-28
结帖率:50%
已结贴  问题点数:5 回复次数:1 
救救孩子啊,各位大神
输入n个学生的姓名及其3门功课成绩,要求按输入的逆序逐行输出每个学生的姓名、3门课成绩和平均成绩。若有学生平均成绩低于60分,则不输出该学生信息。

输入格式:
测试数据有多组,处理到文件尾。每组测试数据首先输入一个正整数n(1<n<100),表示学生人数;然后是n行信息,分别表示学生的姓名(长度不超过10且由英文字母构成的字符串)和3门课成绩(正整数)。

输出格式:
对于每组测试,输出所有满足要求的学生信息,每行一个学生信息:姓名、3门课成绩和平均成绩(保留2位小数)。每行的每两个数据之间留一个空格。

输入样例:
3
zhangsan 80 75 65
lisi 65 52 56
wangwu 87 86 95
输出样例:
wangwu 87 86 95 89.33
zhangsan 80 75 65 73.33
搜索更多相关主题的帖子: 姓名 成绩 学生 输入 输出 
2021-11-16 20:28
白白白小白
Rank: 2
等 级:论坛游民
帖 子:32
专家分:65
注 册:2021-11-8
得分:5 
程序代码:
/*输入n个学生的姓名及其3门功课成绩,要求按输入的逆序逐行输出每个学生的姓名、3门课成绩和平均成绩。
若有学生平均成绩低于60分,则不输出该学生信息。*/
#include<stdio.h>
struct student
{
    char name[5];
    int grade1,grade2,grade3;
    double average;
};

int main()
{
    struct student stu[5];
    int i,j,grade1=0,grade2=0,grade3=0;
    double average=0;
    for(i=0;i<5;i++)
    {
        scanf("%s %d %d %d",stu[i].name,&stu[i].grade1,&stu[i].grade2,&stu[i].grade3);
        for(j=0;j<5;j++)
        {
            stu[j].average=(stu[i].grade1+stu[i].grade2+stu[i].grade3)/3.0;
            if(stu[j].average>=60)
            printf("%s %d %d %d %.2f\n",stu[i].name,stu[i].grade1,stu[i].grade2,stu[i].grade3,stu[j].average);break;
        }
    }
    printf("\n");
    
    return 0;    
}


[此贴子已经被作者于2021-11-17 16:51编辑过]

2021-11-17 16:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-507541-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.134491 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved