基地123 2022-01-05 00:10 采纳率: 90.2%
浏览 23
已结题

C语言程序设计,能看一看不

采用结构体变量的方法保存学生成绩,有五个学生,每个学生有3门课的成绩,从键盘输入相关
数据(包括:学号,姓名和三门课程的成绩)
,计算出平均成绩。
2.
采用结构体数组的方法保存学生成绩,完成练习1

  • 写回答

1条回答 默认 最新

  • 五一编程 2022-01-05 07:25
    关注
    
    #include <stdio.h>
    
    #include <stdlib.h>
    #define ARRAY_LEN 100   /*数组长度*/
    
    /*定义学生结构体*/
    
    typedef struct {
    
    int no; /*学号*/
    
    float score1; /*成绩1*/
    
    float score2; /*成绩2*/
    
    float score3; /*成绩3*/
    
    float totalScore; /*总分*/
    
    float averageScore; /*平均分*/
    
    } student;
    
    /*输入学生信息*/
    
    void inputInfo (student stu[], int stuIndex) {
    
    int i;
    
    printf ("第%d名学生↓\n", stuIndex+1);
    
    printf ("学号:");
    
    scanf ("%d",&stu[stuIndex].no);
    
    printf ("成绩1:");
    
    scanf ("%f",&stu[stuIndex].score1);
    
    printf ("成绩2:");
    
    scanf ("%f",&stu[stuIndex].score2);
    
    printf ("成绩3:");
    
    scanf ("%f",&stu[stuIndex].score3);
    
    putchar ('\n');
    
    }
    
    /*计算平均成绩*/
    
    void calculationScore (student stu[], int stuIndex) {
    
    stu[stuIndex].totalScore=stu[stuIndex].score1+stu[stuIndex].score2+stu[stuIndex].score3;
    
    stu[stuIndex].averageScore=stu[stuIndex].totalScore/3;
    
    } /*输出学生成绩*/
    void printInfo (student stu[], int stuIndex) {
    
    int i;
    
    printf ("%d\t",stu[stuIndex].no);
    
    printf ("%.2f\t",stu[stuIndex].score1);
    
    printf ("%.2f\t",stu[stuIndex].score2);
    
    printf ("%.2f\t",stu[stuIndex].score3);
    
    printf ("%.2f",stu[stuIndex].averageScore);
    
    putchar ('\n');
    
    }
    
    int main (void) {
    
    int stuNum=5,i;
    
    student stu[ARRAY_LEN];
    
    /*输入、计算*/
    
    puts ("请输入学生信息:");
    
    putchar ('\n');
    
    for (i=0; i<stuNum; i++) {
    
    inputInfo (stu,i);
    
    calculationScore (stu,i);
    
    }
    
    putchar ('\n');
    
    printf ("%d名学生成绩输入完毕!", stuNum);
    
    putchar ('\n');
    
    puts ("================================================\n");
    
    /*输出*/
    
    puts ("学号\t成绩1\t成绩2\t成绩3\t平均成绩");
    
    for (i=0; i<stuNum; i++)
    
    printInfo (stu,i);
    
    getch (); /*屏幕暂留*/
    
    return 0;
    
    }
    

    运行结果:

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 1月13日
  • 已采纳回答 1月5日
  • 创建了问题 1月5日

悬赏问题

  • ¥15 Redstone R0697-F00 D2020 交换机 OS
  • ¥50 H5+js 动态数字画廊怎么做?
  • ¥20 外向内全景图像拼接相关项目和论文咨询
  • ¥20 请写个前端案例学习使用
  • ¥15 FFmpeg中G.711转AAC报错:[aac @ 0000014f803ab640] Input contains (near) NaN/+-Inf
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥20 笔记本电脑 处理器是AMD的r7
  • ¥15 需要在vitis下实现彩调视频图像累加,并输出
  • ¥15 解决不了的LNK2019错误
  • ¥20 MATLAB仿真三相桥式全控整流电路