提示:可以复制,来源于大学测试题
提示:以下是本篇文章正文内容
一、结构体
1.运用结构概念
2.结合数组,将数据存入数组内
3.找出最高的分数
并打印相关学生信息
4.成绩高于或等于平均分的学生信息
二、使用步骤
1.源代码
代码如下(示例):
#include<stdio.h>
#define N 10
typedef struct student
{
int number;
char name[N];
int score;
}ST;
int main()
{
ST student[N]={{111110,"AAA",66},{111111,"BBB",90},{111112,"CCC",82},{111113,"DDD",66},{111114,"EEE",50},
{221111,"QQQ",66},{221112,"WWW",98},{221113,"XXX",79},{221114,"YYY",51},{221115,"ZZZ",83}};
//结构体类型数组
printf("学号 姓名 成绩\n");
printf("------------------------\n");
for(int i=0;i<N;i++)
{
printf("%d %s %d\n",student[i].number,student[i].name,student[i].score);
}
printf("-------------------------\n");
int i,j,max;
max=student[0].score;
//找出最高的分数
for(i=0;i<N;i++)
{
if(max<student[i].score)
{
max=student[i].score;
j=i;
}
}
printf("成绩最高学生信息\n");
printf("%d %s %d\n",student[j].number,student[j].name,student[j].score);
float avg;
avg=0.00;
//求平均成绩
for(int i=0;i<N;i++)
{
avg=avg+student[i].score;
}
avg=avg/10;
printf("平均分:%0.2f\n",avg);
printf("成绩高于或等于平均分的学生信息\n");
printf("-------------------------\n");
//大于平均分学生信息成绩
for(int i=0;i<N;i++)
{
if(avg<student[i].score)
{
printf("%d %s %d\n",student[i].number,student[i].name,student[i].score);
}
}
printf("-------------------------\n");
return 0;
}
2.测试
代码如下(示例):
学号 姓名 成绩
------------------------
111110 AAA 66
111111 BBB 90
111112 CCC 82
111113 DDD 66
111114 EEE 50
221111 QQQ 66
221112 WWW 98
221113 XXX 79
221114 YYY 51
221115 ZZZ 83
-------------------------
成绩最高学生信息
221112 WWW 98
平均分:73.10
成绩高于或等于平均分的学生信息
-------------------------
111111 BBB 90
111112 CCC 82
221112 WWW 98
221113 XXX 79
221115 ZZZ 83
-------------------------
--------------------------------
Process exited after 0.1477 seconds with return value 0
请按任意键继续. . .
该处使用的url网络请求的数据。
总结
熟练运用结构体,并且美化数据打印形式