实验一:
1.输入一个字符串,统计大写字母、小写字母、空格、数字和其他字符的个数。(要求用字符数组)
#include<stdio.h> #define N 100 int main() { int a=0,b=0,c=0,d=0,e=0,i=0; char zifu[N]; printf("请输入一串字符\n"); gets(zifu); for(i=0;zifu[i]!='\0';i++) { if(zifu[i]>='0'&&zifu[i]<='9') { a++; } else if(zifu[i]>='a'&&zifu[i]<='z') { b++; } else if(zifu[i]>='A'&&zifu[i]<='Z') { c++; } else if(zifu[i]==32) { 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() { int i=0; char mima1[]="123456",input[8]; printf("请输入密码:\n"); for(i=0;i<3;i++) { gets(input) ; //字符串的安全输入,限制字符串的长度 if(strcmp(mima1,input)==0) { printf("欢迎进入"); break; } else { printf("还剩余%d次机会",2-i); } } if(i==3) { printf("三次机会已经用完"); } return 0; }
实验三:
3.编写一个函数,判断一个字符串是否是回文。若是回文函数返回值为1;否则返回值为0。回文是顺读和倒读都一样。如“level”“abba”等是回文,但“abcd”不是回文。在主函数中调用回文函数对输入的字符串进行判断。
#include<stdio.h> #include <string.h> #define N 100 int hwpd(char a[]); int main() { char b[N]; int x; printf("请输入字符"); gets(b) ; x=hwpd(b); if(x==0) { printf("不是回文数"); } else { printf("是回文数"); } } int hwpd(char a[]) { int i,j; j=strlen(a)-1; for(i=0;i<j;i++,j--) { if(a[i]!=a[j]) { return 0; } } return 1; }
实验总结:
1 整形类型的回车用“\n”表示,字符型的回车用“\0”表示;
2 gets函数可以限制字符的长度,安全输入;
3 字符串比较函数存在库函数#include<string.h>中;
4 函数<string.h>是常用的字符串处理函数;
5 strlen()函数计算字符串的实际长度;
4. 对于这门课程,对于老师和助教的工作,你有什么好的建议或者意见,都可以提出来,我们一起改进。
5.请大家将自己的博客进行整理,从第一次作业开始(包括你的自我介绍哦,没有写的同学,欢迎补上),将所有博客内容包括评论保存到word文档中,然后发到我的邮箱。我会
课程体会:
1 经过一个学期,大略的估计自己写的代码大约有2000行左右的代码,与开学初相比我对c语言有了一个清晰的了解,c语写言中要用到很多的算法,所以我们要经常练习代码,加强逻辑思维;
2 写代码的过程中一定要细心,还有逻辑思维要清晰;
3 对于采用技术博客提交作业,我认为这样不仅能够让我们更多的练习写代码,而且也很方便,相比写在纸上要好的多,如果下一届的学弟学妹们入学啦,我会把这种教学形式推荐给他们;