第十一次作业
Posted 一范红宇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十一次作业相关的知识,希望对你有一定的参考价值。
一、实验内容
1.输入一个字符串,统计大写字母、小写字母、空格、数字和其他字符的个数。(要求用字符数组)
#include<stdio.h> #include<string.h> #define N 100 int main() { int a=0,b=0,c=0,d=0,e=0,i; char ch[N]={0}; printf("请输入字符串"); gets(ch); for(i=0;i<strlen(ch);i++) { if(ch[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<stdio.h> #include<string.h> int main() { int i; char password[]="secret",a[8]; for(i=0;i<3;i++) { printf("请输入密码\\n"); scanf("%7s",a); if(strcmp(password,a)==0) { printf("登陆成功"); break; } else { printf("登录失败"); } } return 0; }
3.编写一个函数,判断一个字符串是否是回文。若是回文函数返回值为1;否则返回值为0。回文是顺读和倒读都一样。如“level”“abba”等是回文,但“abcd”不是回文。在主函数中调用回文函数对输入的字符串进行判断。
#include<stdio.h> #include<string.h> int main() { char str[80]; gets(str); if(fun(str)==1) { printf("Yes\\n"); } else { printf("No\\n"); } return 0; } int fun(char str[]) { int i,j; for(i=0,j=strlen(str)-1;i<=j/2;i++,j--) { if(str[i]==str[j]) { continue; } else { return 0; } } return 1; }
(二)实验总结
1.gets可以输入带空格的字符串。
2.字符串比较函数strcmp(str1,str2),若str1=str2,返回值为0.
3.字符串长度函数strlen(str)。
(三)课程体会
1.经过一个学期的学习,从以前对C语言一无所知,到现在能用它写一些小程序。每次写完一个程序,执行完输出想要的结果,心里超有成就感!
2.在C语言的学习过程中,我觉得最重要的是活学活用,并且要逻辑思维强。在写C语言的时候也曾遇到过不会写的,但是通过老师,同学的帮助,最后也解决了问题。
3.对于采用技术博客提交作业这种形式,刚开始还有些不习惯,但操作过两次后,觉得这种形式很好。便于储存,查看。每节课也有知识点总结和实验总结,对写程序出现的问题及时进行了整理。但是,唯一一点不好的就是理论课和实验课挨太近了,第二天有事满课,当遇到题多且难的时候,真的有点儿心有余而力不足。
4.对于这门课程,真的感谢C语言老师,老师讲课真的很细心,周到。对于以前没接触过编程的我们来说,让我们很快的进入状态,这也让同学们开始对编程产生兴趣。每次上课,教室座无虚席,基本上要提前半个小时来才能做到心仪的位置。另外助教在实验课上对我们指导也是尽心尽力,忙前忙后。真的非常感谢。
以上是关于第十一次作业的主要内容,如果未能解决你的问题,请参考以下文章