首页 > 代码库 > 第十一次作业
第十一次作业
一、实验内容
1.输入一个字符串,统计大写字母、小写字母、空格、数字和其他字符的个数。(要求用字符数组)
代码
1 #include<stdio.h> 2 #include<string.h> 3 #define N 999 4 int main() 5 { 6 int i,a=0,b=0,c=0,d=0,e=0; 7 char str[N]; 8 printf("请输入一个字符串:\n"); 9 gets(str); 10 for(i=0;str[i]!=‘\0‘;i++) 11 { 12 if(str[i]>=‘A‘&&str[i]<=‘Z‘) 13 { 14 a++; 15 } 16 else if(str[i]>=‘a‘&&str[i]<=‘z‘) 17 { 18 b++; 19 } 20 else if(str[i]>=‘0‘&&str[i]<=‘9‘) 21 { 22 c++; 23 } 24 else if(str[i]==‘ ‘) 25 { 26 d++; 27 } 28 else 29 { 30 e++; 31 } 32 } 33 printf("大写%d个,小写%d个,数字%d个,空格%d个,其他%d个\n",a,b,c,d,e); 34 return 0; 35 }
运行结果
2.利用字符数组进行密码的验证,如果密码正确则登陆成功,否则登录失败。密码允许输入三次。
1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 int main() 5 { 6 int time=3; 7 char password[]="fengrunfa",input[10]; 8 printf("Mission:Input the password and you have only 3 chance.\n"); 9 do 10 { 11 gets(input); 12 if(strcmp(password,input)==0) 13 { 14 printf("Mission success,well done!\n"); 15 break; 16 } 17 else 18 { 19 printf("Mission failed,try again\n"); 20 time--; 21 } 22 }while(time!=0); 23 return 0; 24 }
运行结果
3.编写一个函数,判断一个字符串是否是回文。若是回文函数返回值为1;否则返回值为0。回文是顺读和倒读都一样。如“level”“abba”等是回文,但“abcd”不是回文。在主函数中调用回文函数对输入的字符串进行判断。
1 # include <stdio.h> 2 # include <string.h> 3 # define N 999 4 int judge(char str[N]); 5 int main() 6 { 7 int i; 8 char str[N]; 9 printf("请输入字符串:\n"); 10 i=judge(str); 11 if(i==1) 12 { 13 printf("字符串回文\n"); 14 } 15 else 16 { 17 printf("字符串不回文\n"); 18 } 19 return 0; 20 } 21 int judge(char str[N]) 22 { 23 int i,j=-1; 24 gets(str); 25 for(i=0;str[i]!=‘\0‘;i++) 26 { 27 j++; 28 } 29 for(i=0;i<=j;i++,j--) 30 { 31 if(str[i]==str[j]) 32 { 33 return 1; 34 } 35 else 36 { 37 return 0; 38 } 39 } 40 }
运行结果
知识点总结
scanf不能接受空格、制表符Tab、回车等;而gets能够接受空格、制表符Tab和回车等;scanf能限制字符串长度,gets不能
实验总结
strcmp不能拼错
课程体会
我自己感觉初学代码像学数学题一样,解题模式学会了,自然就学会了;PPT如果能在课前发的话,学生们能提前了解这节课的大体内容,上课会有针对性的听那些看不懂的地方;
课上最好能够让学生在下边操作,模仿例题,学生们知道怎么做之后,再解释为什么,我自己感觉一开始就说太专业的术语,学生们理解起来也会有点困难,并且感到枯燥;
就像我刚开始看电脑报的时候,那些硬件名称根本看不懂,感觉也没啥意思,后来接触一些大型单机游戏,对电脑有要求配置,知道CPU显卡内存条是干什么用的后,再拿起电脑报,看那些SSD,HDD,ddr4,i7 6700HQ,就知道那是什么意思了,
更重要的是,我也找到了看电脑报的乐趣,了解最新的科技动向,以后只要有机会就会看看
这只是我自己对代码的理解,或许只适合我自己吧,游戏也都是靠代码一串串的写出来的,为什么不能把代码看作是一个游戏,熟悉它的每一个函数的意义,熟练操作并练习上手呢?
现在玩游戏玩多了感觉游戏就是一串数据,只是不同的游戏复杂程度不同而已,或许下一阶段,我会对怎么制作游戏以及应用程序更加感兴趣一些吧
最后,也感谢老师这半年的谆谆教诲,上面这些只是我自己的一些认知感想,希望对老师有所帮助,有的地方可能说的不太恰当,也望老师多多包涵
第十一次作业