第十次作业
1 生日大小
#include<stdio.h>
struct brithday{
int year;
int month;
int day;
};
struct student{
char name[10];
int tel;
struct brithday brith;
};
int main(void)
{
int i,n;
struct student students[10],t;
printf("Input n");
scanf("%d",&n);
for(i=0;i<n;i++){
printf("Input the info of No.%d:\n",i+1);
printf("name:");
scanf("%s:",students[i].name);
printf("tel:");
scanf("%d",&students[i].tel);
printf("brithday:");
scanf("%d%d%d:",&students[i].brith.year,&students[i].brith.month,&students[i].brith.day);}
for(i=0;i<n;i++)
printf("name=%s\ttel=%d\t%d\t%d\t%d\n",students[i].name,students[i].tel,students[i].brith.year,students[i].brith.month,students[i].brith.day);
for(i=0;i<n-1;i++){
if(students[i].brith.year>students[i+1].brith.year){
t=students[i];
students[i]=students[i+1];
students[i+1]=t;
}
if(students[i].brith.year==students[i+1].brith.year){
if(students[i].brith.month>students[i+1].brith.month){
t=students[i];
students[i]=students[i+1];
students[i+1]=t;}
}
if(students[i].brith.month==students[i+1].brith.month){
if(students[i].brith.day>students[i+1].brith.day)
t=students[i];
students[i]=students[i+1];
students[i+1]=t;}
}
for(i=0;i<n;i++)
printf(" name=%s\ttel=%d\t%d\t%d\t%d\n",students[i].name,students[i].tel,students[i].brith.year,students[i].brith.month,students[i].brith.day);
return 0;
}
2.分数等级
struct student{
int num;
char name[10];
char grade;
};
char set_grade(int mark);
int main(void)
{
int i,n,count=0,mark;
struct student students[10];
printf("Input n:");
scanf("%d",&n);
for(i=0;i<n;i++){
printf("Input the info of No.%d:\n",i+1);
printf("number:");
scanf("%d",&students[i].num);
printf("name:");
scanf("%s",students[i].name);
printf("mark:");
scanf("%d",&mark);
printf("11 num=%d\tname=%s\t",students[i].num,students[i].name);
students[i].grade=set_grade(mark);
printf("22 %c\n",students[i].grade);}
for(i=0;i<n;i++){
if(students[i].grade='D')
count++;
printf("count=%d\n",count);}
return 0;
}
char set_grade (int mark)
{ int A,B,C,D;
if(mark>=85&&mark<=100)
return 'A';
if(mark>=70&&mark<=84)
return 'B';
if(mark>=60&&mark<=69)
return 'C';
if(mark>=0&&mark<=59)
return 'D';
}
