第12次实验作业
第一题
#include<stdio.h> #include<string.h> int main() { int i,t,m; char sx[80],smlen[80]; printf("输入5个字符串:"); scanf("%s",sx); strcpy(smlen,sx); for(i=1;i<5;i++){ scanf("%s",sx); if(strlen(smlen)<strlen(sx)){ strcpy(smlen,sx); } } printf("maxlen is %s\n",smlen); return 0; }
第二题
#include<stdio.h> #include<string.h> int main() { int i,DX=0,XX=0,SZ=0,KG=0,QT=0; char str[80]; gets(str); for(i=0;i<=strlen(str);i++){ if(str[i]>='A'&&str[i]<='Z') DX++; else if(str[i]>='a'&&str[i]<='z') XX++; else if(str[i]>='0'&&str[i]<='9') SZ++; else if(str[i]==' ') KG++; else QT++; } printf("大写字符%d个\n小写字符%d个\n数字%d个\n空格%d个\n其他%d个\n",DX,XX,SZ,KG,QT); return 0; }
第三题
#include<stdio.h> #include<string.h> struct student{ char name[20]; float grade1; float grade2; float grade3; int sno; float avg; }; int Count=0; void new_stu(struct student stu[],int n); void search_stu(struct student stu[],char *name); void print_stu(struct student stu[]); void avg_grade(struct student stu[]); int main(void) { int choice,n; char name[10]; struct student stu[50]; do{ printf("******学生信息管理系统*******\n"); printf("\t 1:新建\n"); printf("\t 2:输出\n"); printf("\t 3:平均成绩\n"); printf("\t 4:查找\n"); printf("\t 0:退出\n"); printf("请选择功能:"); scanf("%d",&choice); switch(choice){ case 1: printf("输入学生个数:"); scanf("%d",&n); new_stu(stu,n); break; case 2:print_stu(stu); break; case 3:avg_grade(stu); break; case 4: printf("请输入查找的人名:"); scanf("%s",name); search_stu(stu,name); break; case 0:break; } }while(choice!=0); printf("谢谢使用!\n"); return 0; } void print_stu(struct student stu[]) { printf("该学生为:\n"); int i; for(i=0;i<Count;i++) { printf("%d %s %.2f %.2f %.2f\n",stu[i].sno,stu[i].name,stu[i].grade1,stu[i].grade2,stu[i].grade3); } } void new_stu(struct student stu[],int n) { int i; if(Count==50){ printf("系统已满!\n"); return; } printf("请输入%d学生的学好,姓名,成绩1,成绩2,成绩3\n",n); for(i=Count;i<Count+n;i++){ scanf("%d%s%f%f%f",&stu[i].sno,stu[i].name,&stu[i].grade1,&stu[i].grade2,&stu[i].grade3); } Count=Count+n; } void search_stu(struct student stu[],char *name) { int i,flag=0; if(Count==0){ printf("系统是空的!\n"); return; } for(i=0;i<Count;i++) if(strcmp(name,stu[i].name)==0){ flag=1; break; } if(flag){ printf("学号:%d,姓名:%s",stu[i].sno,stu[i].name); printf("成绩1:%.2f成绩2%.2f成绩3%.2f\n",stu[i].grade1,stu[i].grade2,stu[i].grade3); } else printf("无此学生!"); } void avg_grade(struct student stu[]) { int i; if(Count==0){ printf("该系统无学生!\n"); return; } printf("输出每个学生平均成绩\n"); for(i=0;i<Count;i++){ stu[i].avg=(stu[i].grade1+stu[i].grade2+stu[i].grade3)/3; printf("第%d个学生的平均成绩为:%.2f\n",i+1,stu[i].avg); } }
因为老师上课说这次的作业可以交到课堂派这个网站上所以没打算交到博客上,但是发现我居然没分所以我还是再交一遍。