首页 > 代码库 > 作业十二
作业十二
1.找出最长的字符串:输入5个字符串,输出其中最长的字符串。
#include<stdio.h> #include<string.h> int main() { int i; printf("输入五个字符串:"); char sx[80],smax[80]; scanf("%s",sx); strcpy(smax,sx); for(i=1;i<5;i++){ scanf("%s",sx); if(strcmp(smax,sx)<0) strcpy(smax,sx); } printf("max is %s\n",smax); return 0; }
2.分类统计字符个数:输入一行文字,统计其中的大写字母、小写字母、空格、数字以及其他字符各有多少。
#include"stdio.h" int main() { int a,dx=0,xx=0,kg=0,sz=0,qt=0; while((a=getchar())!=‘\n‘) { if(a>=‘A‘&&a<=‘Z‘) dx++; else if(a>=‘a‘&&a<=‘z‘) xx++; else if(a==‘ ‘) kg++; else if(a>=‘0‘&&a<=‘9‘) sz++; else qt++; } printf("大写字母有:%d\n",dx); printf("小写字母有:%d\n",xx); printf("空格有:%d\n",kg); printf("数字有:%d\n",sz); printf("其他字符有:%d\n",qt); return 0; }
3. 学生信息管理系统。
假设学生的基本信息包括学号、姓名,三门课程成绩以及个人平均成绩,且最多需要处理50名学生的数据,实现如下功能。
(1)输入学生基本信息
(2)输出学生基本信息
(3)计算每个学生的平均成绩
(4)按姓名查找学生基本信息
#include"stdio.h" #include"string.h" struct student_list{ int num; char name[50]; int computer,english,math; double average; }; int count = 0; void new_student(struct student_list students[] ); void search_student(struct student_list students[],char *name); void print_student(struct student_list students[]); int main() { int choice; char name[50]; struct student_list students[50]; do{ printf("******学生的基本信息******\n"); printf("\t1:新建\n"); printf("\t2:查询\n"); printf("\t3:输出\n"); printf("\t0:退出\n"); printf("请选择功能:"); scanf("%d",&choice); switch(choice){ case 1: new_student(students); break; case 2: printf("请输入要查找的学生姓名:"); scanf("%s",name); search_student(students,name); break; case 3:print_student(students); break; case 0: break; } }while(choice !=0); printf("谢谢!\n"); return 0; } void print_student(struct student_list students[]) { printf("学生信息列表的学生信息如下:\n"); int i; for(i=0;i<count;i++) { printf("%s %d %d %d %.2lf %d\n",students[i].name,students[i].computer,students[i].english,students[i].math,students[i].average,students[i].num); } } void new_student(struct student_list students[]) { struct student_list f; if(count ==50){ printf("信息表已满!\n"); return; } printf("请输入新学生的姓名:"); scanf("%s",f.name); printf("请输入新学生的学号:"); scanf("%d",&f.num); printf("请输入新新学生的计算机成绩:"); scanf("%d",&f.computer); printf("请输入新新学生的英语成绩:"); scanf("%d",&f.math); printf("请输入新新学生的数学成绩:"); scanf("%d",&f.english); students[count]=f; count++; } void search_student(struct student_list students[],char*name) { int i,flag=0; if(count ==0){ printf("学生信息列表是空的\n"); return; } for(i=0;i<count;i++) if(strcmp(name,students[i].name)==0){ flag=1; break; } if(flag){ printf("姓名:%s\t",students[i].name); printf("计算机成绩:%d\t",students[i].computer); printf("数学成绩:%d\t",students[i].math); printf("英语成绩:%d\t",students[i].english); printf("平均成绩:%.2lf\t",students[i].average=(students[i].computer+students[i].math+students[i].english)/3.0); printf("学号:%d\n",students[i].num); } else printf("无此学生信息"); }
作业十二
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。