1.找出最长的字符串
#include<stdio.h>
#include<string.h>int main(){ int max=0,math,i; char s1[80],s2[80]; for(i=1;i<=5;i++) { gets(s2); math=strlen(s2); if(math>max) { max=math; strcpy(s1,s2); } } puts(s1); printf("%d",max); return 0;}
2.分类统计字符个数
#include#include int main(){ char str[50]; int i,dx,xx,math,kg,qt; dx=xx=math=kg=qt=0; gets(str); for(i=0;i ='A'&&str[i]<='Z') dx++; else if(str[i]>='a'&&str[i]<='z') xx++; else if(str[i]>='0'&&str[i]<='9') math++; else if(str[i]==' ') kg++; else qt++; } printf("大写字母%d个 小写字母%d个 数字%d个 空格%d个 其他字符%d个\n",dx,xx,math,kg,qt); return 0;}
3.学生信息管理系统
#include#include struct studys_list{ char name[10]; char xh[20]; int math,english,china; double average;};int count=0;void new_study(struct studys_list studys[]); void print_study(struct studys_list studys[]);void search_study(struct studys_list studys[],char *name);void search_study(struct studys_list studys[],char *name);int main(){ int ch; char name[10]; struct studys_list studys[50]; do { printf("\t***学生信息管理系统***\n"); printf("\t1.输入学生信息\n"); printf("\t2.输出学生信息\n"); printf("\t3.按姓名查找学生本信息\n"); printf("\t0:退出\n"); scanf("%d",&ch); switch(ch) { case 1:new_study(studys);break; case 2:print_study(studys);break; case 3:printf("请输入学生姓名\n"); scanf("%s",name); search_study(studys,name); break; case 0:break; } }while(ch!=0); return 0;} void new_study(struct studys_list studys[]){ struct studys_list s; if(count==50) { printf("已达上限!"); return; } printf("请输入学生姓名"); scanf("%s", s.name); printf("请输入学生学号"); scanf("%s",s.xh); printf("请输入数学成绩"); scanf("%d",&s.math); printf("请输入英语成绩"); scanf("%d",&s.english); printf("请输入语文成绩"); scanf("%d",&s.china); s.average=(s.math+s.english+s.china)/3; studys[count]=s; count++;}void print_study(struct studys_list studys[]){ printf("学生基本信息为:\n"); int i; for(i=0;i
知识点
1.puts()gets()的用法
2.strcpy(s1,s2)把2付给1
strcat(s1,s2)2与1合并付给1
strcmp(s1,s2)1与2比大小
strcpy()计算字符串长度
遇到的问题与解决方法
在编写第二个的时候没有找到方向,于是请求了同学的帮助
在编写第三个的时候遇到了很多问题,一部分经过看书解决,一部分经过自己的多次试验,一部分请求老师的帮助,结果发现了是我&符号出现了问题,我并没有很好地理解&的意义