首页 > 代码库 > 第十一次作业
第十一次作业
(一)实验内容
1.实验要求:输入一个字符串,统计大写字母、小写字母、空格、数字和其他字符的个数。(要求用字符数组)
代码:
#include<stdio.h> #define str_len 100 int main() { int a=0,b=0,c=0,d=0,e=0,i; char str[str_len]; printf("请输入一串字符,计算字符个数\n"); scanf("%s", str); for(i=0;str[i]!=‘\0‘;i++) { if(str[i]>=‘A‘&&str[i]<=‘Z‘) { a++; } else if(str[i]>=‘a‘&&str[i]<=‘z‘) { b++; } else if(str[i]>=‘0‘&&str[i]<=‘9‘) { c++; } else if(str[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[]="chenqiu",input[8]; printf("请输入密码\n"); for(i=0;i<3;i++) { scanf("%7s",input); if(strcmp(password,input)==0) { printf("密码正确,welcome!"); break; } else { printf("密码输入错误,你还有%d次机会!\n",2-i); int c; while((c=getchar())!=‘\n‘&&c!=EOF); } } return 0; }
程序运行结果:
3.编写一个函数,判断一个字符串是否是回文。若是回文函数返回值为1;否则返回值为0。回文是顺读和倒读都一样。如“level”“abba”等是回文,但“abcd”不是回文。在主函数中调用回文函数对输入的字符串进行判断。
代码:
#include<stdio.h> #define N 100 int panduan(char str[]); int main() { printf("请输入一串字符,判断是否回文\n"); char str[N]; gets(str); if(panduan(str)) { printf("字符串回文"); } else { printf("字符串不回文"); } } int panduan(char str[]) { int i,b=-1; for(i=0;str[i]!=‘\0‘;i++) { b++; } for(i=0;i<b;i++,b--) { if(str[i]!=str[b]) { return 0; } else { return 1; } } }
程序运行结果:
(二)实验总结(实验中遇到的问题及解决方法)
1、字符型的需要加上单引号。
2、用循环输出字符串时,判断应为str[]不等于\0。
3、字符串比较函数存在库函数#include<string.h>中。
4、字符串的结束标志是‘\0‘。
(三)课程体会(请回答以下问题)
1. 经过一个学期的学习,你统计过一共写了多少行代码吗?与开学初相比,你对C语言或者程序设计有了哪些认识和理解?
答:没统计过。经过一个学期的学习,使我对c语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它
2. 在C语言的学习过程中,你有什么经验和教训分享给大家?
答:通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是学习c语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,大家要注视实践操作,使自己便好地学好计算机。
3. 对于采用技术博客提交作业这种形式,你有什么看法,对你有帮助的地方在哪里?你觉得还可以做哪些改进?,如果下一届的学弟学妹们入学了,你会给他们推荐这种教学形式吗?
答:博客提交作业这种形式真心不错,能自行督促学生按时完成作业,没啥需要改进的。给下一届的学弟学妹们推荐这种教学形式。
4. 对于这门课程,对于老师和助教的工作,你有什么好的建议或者意见,都可以提出来,我们一起改进。
答:老师和助教都很好。
第十一次作业