C语言结构体存放:学生学号、姓名、四个成绩

本文介绍了一个使用C语言进行结构体输入输出的示例程序。该程序定义了一个包含学号、姓名和四门课程成绩的结构体,并演示了如何从标准输入读取这些数据,以及如何将它们格式化输出到标准输出。示例展示了结构体在C语言中的基本应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include<stdio.h>
int main()
{
    struct stdent
    {
    long num;
    char name[20];
    int score[4];
    }st;
    int i;
    scanf("%ld%s",&st.num,st.name);
    for(i=0;i<4;i++)
        scanf("%d",&st.score[i]);
    printf("%10ld\n%-20s\n",st.num,st.name);
    for(i=0;i<=3;i++)
        printf(" %5d",st.score[i]);
    printf("\n");
    return 0;
}
/*vc++6.0:
211906326 leixiaohua
90 85 74 85
 211906326
leixiaohua
    90    85    74    85
Press any key to continue
*/

好的,我来为您编写一个C语言程序,实现您描述的功能。以下是代码示例: ```c #include <stdio.h> #include <string.h> #define MAX_STUDENTS 40 #define NUM_COURSES 4 struct Student { char id[20]; char name[50]; char gender[10]; int age; float scores[NUM_COURSES]; float total; }; int main() { struct Student students[MAX_STUDENTS]; int i, j; int bestStudentIndex = 0; // 输入学生信息 for (i = 0; i < MAX_STUDENTS; i++) { printf("请输入第%d个学生学号: ", i+1); scanf("%s", students[i].id); printf("请输入第%d个学生姓名: ", i+1); scanf("%s", students[i].name); printf("请输入第%d个学生的性别: ", i+1); scanf("%s", students[i].gender); printf("请输入第%d个学生的年龄: ", i+1); scanf("%d", &students[i].age); students[i].total = 0; for (j = 0; j < NUM_COURSES; j++) { printf("请输入第%d个学生的第%d门课程成绩: ", i+1, j+1); scanf("%f", &students[i].scores[j]); students[i].total += students[i].scores[j]; } printf("\n"); } // 找出成绩最好的学生 for (i = 1; i < MAX_STUDENTS; i++) { if (students[i].total > students[bestStudentIndex].total) { bestStudentIndex = i; } } // 输出成绩最好的学生信息 printf("成绩最好的学生信息:\n"); printf("学号: %s\n", students[bestStudentIndex].id); printf("姓名: %s\n", students[bestStudentIndex].name); printf("性别: %s\n", students[bestStudentIndex].gender); printf("年龄: %d\n", students[bestStudentIndex].age); printf("总成绩: %.2f\n", students[bestStudentIndex].total); printf("各科成绩: "); for (j = 0; j < NUM_COURSES; j++) { printf("%.2f ", students[bestStudentIndex].scores[j]); } printf("\n"); return 0; } ``` 这个程序实现了以下功能: 1. 定义了一个`Student`结构体,包含学号姓名、性别、年龄、四门课程成绩成绩。 2. 创建了一个包含40个`Student`结构体的数组。 3. 使用循环输入40个学生的信息,包括学号姓名、性别、年龄四门课程的成绩。 4. 计算每个学生的总成绩。 5. 找出总成绩最高的学生。 6. 输出成绩最好的学生所有信息,包括各科成绩。 注意,这个程序假设用户会正确输入所有40个学生的信息。在实际应用中,您可能需要添加更多的错误检查数据验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值