一、实验内容
1.实验要求:输入一个字符串,统计大写字母、小写字母、空格、数字和其他字符的个数。(要求用字符数组)
代码:
#include#include int main(){ int a=0,b=0,c=0,d=0,e=0,i=0; char ch[100]; printf("请输入字符串:\n"); gets(ch); for(i=0;i ='A'&&ch[i]<='Z') a++; else if(ch[i]>='a'&&ch[i]<='z') b++; else if(ch[i]>='0'&&ch[i]<='9') c++; else if(ch[i]==' ') d++; else e++; } printf("这个字符串中大写字母有%d个,小写字母有%d个,数字有%d个,空格有%d个,其他字符有%d个",a,b,c,d,e); return 0;}
程序运行结果:
2.实验要求:利用字符数组进行密码的验证,如果密码正确则登陆成功,否则登录失败。密码允许输入三次。
代码:
#include#include int main(){ int i=0; char password[]="secret",input[8]; printf("请输入密码:\n"); scanf("%7s",input); for(i=0;i<3;i++) { if(strcmp(password,input)==0) { printf("密码正确\n"); continue; } else { printf("输入密码错误,请重新输入密码:\n"); scanf("%7s",input); i++; } }}
程序运行结果:
3.实验要求:编写一个函数,判断一个字符串是否是回文。若是回文函数返回值为1;否则返回值为0。回文是顺读和倒读都一样。如“level”“abba”等是回文,但“abcd”不是回文。在主函数中调用回文函数对输入的字符串进行判断。
代码:
#include#include int huiwen(char c[]);int main(){ char str[]={ '\0'}; printf("请输入一个字符串:\n"); scanf("%s",str); if(huiwen(str)==1) { printf("是回文数\n"); } else if(huiwen(str)==0) { printf("不是回文数\n"); } return 0;}int huiwen(char c[]){ int i=0,j=0; for(i=1,j=strlen(c);i<=j;i++,j--) { if(c[i]==c[j]) return 1; } return 0;}
程序运行结果:
二、实验总结
1.注意循环的顺序和数阻个数的给定;
2.字符串连接函数strcat;字符串拷贝函数strcpy;字符串比较函数strcmp;字符串长度函数strlen;
字符串大小写字母转换函数strlwr(大变小)strupr(小变大)
三、课堂总结
1、一千多行;对c语言从一开始的一点都不了解到现在的一点点熟悉,这是个进步的过程,需要认真仔细的写每一个程序;程序设计时要思考全面,分析每一个可能遇到的问题;
2、写代码的时候要求英中文的书写,标点也要注意;不要忘记开头的主函数和末尾的return 0;c语言是一门需要特别注意细节的课程,再写程序的时候应该仔细;每次课程后也应该多看看书进行知识的熟悉;
3、对于采用技术博客提交作业这种形式,我特别支持。这种方式可以弥补在实验课上的不足,可以让每个学生都能完成自己的程序设计,加深对知识的了解和掌握,从而为c的学习打下扎实的基础;