内容发布更新时间 : 2025/1/7 8:11:17星期一 下面是文章的全部内容请认真阅读。
习题9 答案
第5 题:
#include
void infoinput(struct student* st,int num); void levelcount(struct student* st,int num); //定义一个结构student 表示学生基本情况 struct student{ char stuno[20]; char stuname[20]; double cgrade; char gradelevel; };
int main(){
struct student ss[100]; //根据题意,一个班学生人数不超过100 个 int snum=0;
while (snum<=0||snum>100){
printf(\请输入班级的学生数n<=100:\scanf(\}
infoinput(ss,snum); levelcount(ss,snum); return 0; }
//输入基本数据
void infoinput(struct student* st,int num){ int i=0;
while(i printf(\请输入学生 的学号、姓名、计算机成绩:\scanf(\while (st[i].cgrade<0||st[i].cgrade>100){ printf(\请输入学生 的计算机成绩[0-100]:\scanf(\} if (st[i].cgrade>=90) st[i].gradelevel='A'; else if(st[i].cgrade>=70) st[i].gradelevel='B'; else if(st[i].cgrade>=60) st[i].gradelevel='C'; else st[i].gradelevel='D'; i++; } } //统计等级人数 void levelcount(struct student* st,int num){ int levelA=0,levelB=0,levelC=0,levelD=0; int i; for(i=0;i switch (st[i].gradelevel){ case 'A':levelA++;break; case 'B':levelB++;break; case 'C':levelC++;break; case 'D':levelD++;break; }; } printf(\统计结果:A:%d 人,B:%d 人,C:%d 人,D:%d 人\\n\} 第6 题: #include struct date{int year;int month;int day;}; //定义一个结构student 表示学生基本情况 struct llist{ char name[20]; struct date birthday; char homeno[10]; char mobileno[20]; }; struct llist addlist[50]; //如果不用链表做,假设: //通讯录每个位置记录一个联系人信息 //如果某位置联系人姓名信息为空,表示该位置无联系人 int main(){ int menuno=0; while (1){ printf(\请选择操作功能:\\n\printf(\新建:\\n\printf(\删除:\\n\printf(\修改:\\n\printf(\查询:\\n\printf(\退出:\\n\scanf(\switch(menuno){ case 1:fcreat();break; case 2:fdelete();break; case 3:fupdate();break; case 4:ffind();break; case 5:return 0; default:printf(\错误选项,请重新选择!\\n\}; } return 0; } void finit(){ int i; for(i=0;i<50;i++) { strcpy(addlist[i].name,\addlist[i].birthday.year=0; addlist[i].birthday.month=0; addlist[i].birthday.day=0; strcpy(addlist[i].homeno,\strcpy(addlist[i].mobileno,\} } void fcreat(){ int i; char oname[20]; int oyear; int omonth; int oday; char ohomeno[10]; char omobileno[20]; printf(\请输入联系人信息姓名、出生年、月、日、家庭电话、手机号:\\n\scanf(\for(i=0;i<50;i++) { if (strlen(addlist[i].name)==0) { strcpy(addlist[i].name,oname); addlist[i].birthday.year=oyear; addlist[i].birthday.month=omonth; addlist[i].birthday.day=oday; strcpy(addlist[i].homeno,ohomeno); strcpy(addlist[i].mobileno,omobileno); printf(\已增加新联系人\\n\break; } } if (i>=50) printf(\通讯录满,无法增加新联系人\\n\