红莲


私信TA

用户名:qlws112

访问量:903

签 名:

等  级
排  名 18692
经  验 738
参赛次数 0
文章发表 3
年  龄 0
在职情况 学生
学  校 山东科技大学
专  业

  自我简介:

解题思路:按照题目要求一步一步进行

注意事项:没有使用过多的定义函数,只是使用了结构体,另外需要确认再输入时字符的赋值前面是不是删掉了&(如果明白为什么的请在下方评论,谢谢!)
                                                                                                                                                                         (代码中红色部分)
参考代码:

#include<stdio.h>
typedef struct student{
  char num[100];
  char name[100];
  int grade[3];
}stu[100];
 
int main()
{
 int a;\\定义学生人数
 int sum[a],average[a],number=0,max=0,d;\\定义各步骤输出变量及过程变量
 scanf("%d",&a);
    struct student stu[100];
 for(int i=0;i<a;i++)\\赋值
 {
     scanf("%s %s %d %d %d",stu[i].num,stu[i].name,&stu[i].grade[0],&stu[i].grade[1],&stu[i].grade[2]);
 }
 for(int i=0;i<a;i++)//Sum,计算总值
 {
     sum[i]=stu[i].grade[0]+stu[i].grade[1]+stu[i].grade[2];
 }
 for(int i=0;i<3;i++)//Average,计算各科平均值
 {
     d=0;
     for(int u=0;u<a;u++)
     {
         d=d+stu[u].grade[i];
     }
     average[i]=d/a;
     printf("%d ",average[i]);
 }
 printf("\n");
 for(int i=0;i<a;i++)//Max,判断哪名学生的成绩最优
 {
     if(max<=sum[i])
     {
         max=sum[i];
         number=i;
     }
 }
 printf("%s %s %d %d %d",stu[number].num,stu[number].name,stu[number].grade[0],stu[number].grade[1],stu[number].grade[2]);
}

 

0.0分

3 人评分

  评论区

应该说红色字体部分的原本就是地址?
2021-01-05 13:32:47
  • «
  • 1
  • »