C语言结构体编程题,求助大神

编写程序,定义结构体类型描述学生的基本信息(包括学号、姓名、成绩),输入5名学生的学号、姓名及成绩,计算其平均成绩,并输出高于平均成绩的学生信息。

第1个回答  2020-06-16

#include<stdio.h>

typedef struct __student_info
{
char num[10];
char name[10];
float score;
} student_info;

int main(void)
{
student_info info[5];
printf("请输入5名学生信息(学号 姓名 成绩):\n");
for(int i = 0; i < 5; i++)
{
scanf("%s %s %f",info[i].num,info[i].name,&info[i].score);
}
float sum = 0;
for(int i = 0; i < 5; i++)
{
sum += info[i].score;
}
float average = sum/5;
printf("高于平均成绩的学生信息如下:\n");
for(int i = 0; i < 5; i++)
{
if(info[i].score > average)
{
printf("%s %s %.1f\n",info[i].num,info[i].name,info[i].score);
}
}
return 0;
}

本回答被提问者和网友采纳
第2个回答  2020-06-16

#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>

struct Student

{

int num;

char name[64];

int score;

};

Student* s;

int n;

int fun1()

{

int result = 0;

for (int i = 0; i < n; i++)

{

result += s[i].score;

}

return result / n;

}

void fun2()

{

int average = fun1();

printf_s("%d名学生平均成绩:%d\n", n, average);

printf_s("高于平均成绩的学生:\n");

for (int i = 0; i < n; i++)

{

if (s[i].score > average)

printf("%d %s %d\n", s[i].num, s[i].name, s[i].score);

}

}

int main()

{

scanf("%d", &n);

getchar();

s = new Student[n];

for (int i = 0; i < n; i++)

{

scanf("%d %s %d", &s[i].num, s[i].name, &s[i].score);

}

fun2();

}

追问

有运行结果的图片吗?

追答

相似回答