下首先明确一下结构体的作用,就是相当于一个含有多个数据类型的数组,方便人们处理问题。
定义的规则如下:
struct 结构体名
{
类型 成员名1;
类型 成员名2;
…
类型 成员名n;
};
下面就直接看例题了:
对某班学生成绩排序。从键盘依次输入某班学生的姓名和成绩(一个班级人数最多不超过50人)并保存,然后分别按学生成绩由高到低顺序输出学生姓名和成绩,成绩相同时,则按输入次序排序。
咱们就直接看代码了
#include<stdio.h>
#include<math.h>
#include<string.h>
struct cj
{
char name[16];
int score;
}a[50],t;
int main()
{
int i,j,n;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%s %d",a[i].name,&a[i].score);
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(a[j].score<a[j+1].score)
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=0;i<n;i++)
printf("%15s%5d\n",a[i].name,a[i].score);
return 0;
}
仔细看看,一定会有收获的,这一点不算太难。