第十一次作业
Posted 计科王佳明
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十一次作业相关的知识,希望对你有一定的参考价值。
1.输入一个字符串,统计大写字母、小写字母、空格、数字和其他字符的个数。(要求用字符数组)
#include<stdio.h> #define N 100 int main() { char zf[N]; int i,d=0,x=0,s=0,k=0,q=0; printf("输入一个字符串"); gets(zf); for(i=0;i<N;i++) { if(zf[i]==\'\\0\') break; if(zf[i]>=\'A\'&&zf[i]<=\'Z\') {d++;continue;} if(zf[i]>=\'a\'&&zf[i]<=\'z\') {x++;continue;} if(zf[i]>=\'0\'&&zf[i]<=\'9\') {s++;continue;} if(zf[i]==\' \') {k++;continue;} else {q++;continue;} } printf("大写字母有%d个,小写字母有%d个,数字有%d个,空格有%d个,其它有%d个",d,x,s,k,q); return 0; }
2.利用字符数组进行密码的验证,如果密码正确则登陆成功,否则登录失败。密码允许输入三次。
#include<stdio.h> #include<string.h> int main() { char password[]="secret",input[8]; int i; for(i=0;i<3;i++) { printf("请输入密码\\n"); scanf("%7s",input); if(strcmp(password,input)==0) { printf("输入正确!"); break; } else { printf("输入错误!\\n"); } if(i==2) printf("登陆失败"); } return 0; }
3.编写一个函数,判断一个字符串是否是回文。若是回文函数返回值为1;否则返回值为0。回文是顺读和倒读都一样。如“level”“abba”等是回文,但“abcd”不是回文。在主函数中调用回文函数对输入的字符串进行判断。
#include<stdio.h> #define N 100 #include<string.h> int asd(char zf[N],int x); int main() { char zf[N]; int i,x,y; printf("输入一个字符串"); gets(zf); x=strlen(zf); y=asd(zf,x); if(y==0) printf("不是回文数"); if(y==1) printf("是回文数"); return 0; } int asd(char zf[N],int x) { int i,j; x+=1; j=x/2; for(i=0;i<j;i++,x--) { if(zf[i]!=zf[x-2]) { return 0; } } return 1; }
实验总结:1.gets可以输入带空格的字符串,scanf不能,字符串不用&
2.字符串的结束标志是\'\\0\';
3.求字符串长度用函数strlen(str)
课程体会:时间过的飞快,转眼到了期末了,经过一学期的学习,从开始不懂什么是c语言,到现在学会了一些基本简单的编程,算上所有写过的代码大概也写了两三千行了吧,据我现在认识c语言和高中学的数学有一点联系,尤其是循环那,就像一个机器 ,按照写的代码 一步一步的向下执行,说经验也谈不上,就是多写多尝试,敢于尝试你肯定能收获到你想不到的地方,写之前可以先一个内容一个内容的写,这样方便检验,哪错了也好找出来,在需要什么再向里边加,比如写那次自动出题器的时候,可以先利用随机数写出一次题的,在写利用循环出题,之后再加上算正确率之类的; 我觉的利用技术博客的教学方法挺高大上的,因为代码写在纸上也不合适,上课交也浪费时间,这种方法就很好 ,还可以把之前写过的代码保留下来,下一届学弟学妹们我建议仍采用这种方法,老师和助教的工作也非常负责,对我们的帮助也很大,最后想对老师和助教说,你们辛苦啦。感谢!
以上是关于第十一次作业的主要内容,如果未能解决你的问题,请参考以下文章