一、实验内容
1.输入一个字符串,统计大写字母、小写字母、空格、数字和其他字符的个数。(要求用字符数组)
#include<stdio.h> #include<string.h> #define N 9999 int main() { char n[N+1]; int i,a=0,b=0,c=0,d=0,e=0; printf("请输入一串字符: "); gets(n); for(i=0;i<strlen(n);i++) { if(n[i]>='a'&&n[i]<='z') { a++; } else if(n[i]>='A'&&n[i]<='Z') { b++; } else if(n[i]==' ') { c++; } else if(n[i]>='0'&&n[i]<='9') { d++; } else { e++; } } printf("小写字母%d个,大写字母%d个,空格%d个,数字%d个,其他字符%d个",a,b,c,d,e); return 0; }
2.利用字符数组进行密码的验证,如果密码正确则登陆成功,否则登录失败。密码允许输入三次。
#include<stdio.h> #include<string.h> int main() { char a[]="123456",b[999]; int i; printf("请输入六位密码 "); i=1; scanf("%7s",b); while(1) { if(strcmp(a,b)==0) { printf("登陆成功 "); break; } printf("密码错误请重新输入 "); if(i>=3) { printf("账户已被冻结 "); break; } scanf("%7s",b); i++; } return 0; }
3.编写一个函数,判断一个字符串是否是回文。若是回文函数返回值为1;否则返回值为0。回文是顺读和倒读都一样。如“level”“abba”等是回文,但“abcd”不是回文。在主函数中调用回文函数对输入的字符串进行判断。
#include<stdio.h> #include<string.h> #define N 9999 int panduan(char a[N]) { int i,j,n; n=strlen(a)-1; for(i=0,j=n-i;i<=j;i++,j--) { if(a[i]!=a[j]) { return 0; } } if(a[i]==a[j]) { return 1; } } int main() { int i; char a[N]; printf("请输入一个字符串 "); gets(a); i=panduan(a); if(i==1) { printf("是回文数 "); } else if(i==0) { printf("不是回文数 "); } return 0; }
(二)实验总结
1、熟记字符串处理函数,连接函数,拷贝函数,比较函数,长度函数,输入输出函数
2、字符串不能用关系运算符 > < =来比较
(三)课程体会
1. 经过一个学期的学习,你统计过一共写了多少行代码吗?与开学初相比,你对C语言或者程序设计有了哪些认识和理解?
一共写了一千多行代码;要学会进行程序的优化,不能以写出来为目标,应该以写得最好最简便为目标,而且c语言需要多练习,才能熟练掌握每一条语句都是干什么用的
2. 在C语言的学习过程中,你有什么经验和教训分享给大家?
不要把每个问题都想的太简单,要利用学过的所有知识来解决问题,遇到问题要积极去请教别人,也可以上网查,然后解决它。
3. 对于采用技术博客提交作业这种形式,你有什么看法,对你有帮助的地方在哪里?你觉得还可以做哪些改进?,如果下一届的学弟学妹们入学了,你会给他们推荐这种教学形式吗?
我觉得用博客写作业比用纸写作业要好,博客可以及时反映问题,然后有问题也可以马上就能提问。