1.通讯录排序

#include"stdio.h"
struct birthday{
int year,month,day;
};
struct people{
char name[20];
struct birthday b;
int phonenumber;
}a[10],x;
int main()
{
int n,j;
printf("n个联系人:");
scanf("%d",&n);
printf("姓名\t生日\t电话号\n");
for(j=0;j<n;j++)
scanf("%s%d%d%d%d",a[j].name,&a[j].b.year,&a[j].b.month,&a[j].b.day,&a[j].phonenumber);
for(j=0;j<n-1;j++){
if(a[j].b.year>a[j+1].b.year){
x=a[j];a[j]=a[j+1];a[j+1]=x;
}
if(a[j].b.year==a[j+1].b.year){
if(a[j].b.month>a[j+1].b.month){
x=a[j];a[j]=a[j+1];a[j+1]=x;
}
if(a[j].b.month==a[j+1].b.month)
if(a[j].b.day>a[j+1].b.day){
x=a[j];a[j]=a[j+1];a[j+1]=x;
}
}
}
printf("排序后\n");
for(j=0;j<n;j++)
printf("%s\t%d %d %d\t%d\n",a[j].name,a[j].b.year,a[j].b.month,a[j].b.day,a[j].phonenumber);
return 0;
}

 

6.按等级统计学生成绩

#include"stdio.h"
struct student{
int number,record;
char name[20],grade;
}a[10];
char set_grade(int r);
int main()
{
int i;
printf("输入10名学生信息\n学号\t姓名\t成绩\n");
for(i=0;i<10;i++){
scanf("%d%s%d",&a[i].number,a[i].name,&a[i].record);
a[i].grade=set_grade(a[i].record);
}
printf("学号\t姓名\t成绩\t等级\n");
for(i=0;i<10;i++)
printf("%d\t%s\t%d\t%c\n",a[i].number,a[i].name,a[i].record,a[i].grade);
printf("不及格者\n");
for(i=0;i<10;i++)
if(a[i].grade=='D')
printf("%d\t%s\t%d\t%c\n",a[i].number,a[i].name,a[i].record,a[i].grade);
return 0;
}
char set_grade(int r)
{
if(r<=100&&r>=85)
return 'A';
if(r<=84&&r>=70)
return 'B';
if(r<=69&&r>=60)
return 'C';
if(r<=59&&r>=0)
return 'D';
else
return '?';
}

心得:通过本次实验我已经能够熟练运用结构体定义,嵌套结构体及结构体变量定义。

posted on 2019-06-23 17:21  黄科迪  阅读(185)  评论(1编辑  收藏  举报