作业,11
1.输入一个字符串,统计大写字母、小写字母、空格、数字和其他字符的个数。(要求用字符数组)
#include<stdio.h> #define N 100 int main() { char a[N]; int i,b=0,c=0,d=0,e=0,other=0; printf("输入任意字符\n"); gets(a); for(i=0;i<N;i++) { if(a[i]=='\0') break; if(a[i]>=65&&a[i]<=90) { b++; } else if(a[i]>=97&&a[i]<=122) { c++; } else if(a[i]==' ') { d++; } else if(a[i]>=48&&a[i]<=57) { e++; } else { other++; } } printf("\n大写字母%d 小写字母%d 空格%d 数字%d 其他%d",b,c,d,e,other); return 0; }
2.利用字符数组进行密码的验证,如果密码正确则登陆成功,否则登录失败。密码允许输入三次。
#include<stdio.h> #include<string.h> #define N 20 int main() { char mima[N]="qwertyuiop",print[N]; int i,j,h; printf("输入验证码,为qwertyuiop,你只有三次机会!\n"); for(i=1,j=0;i<=3;i++) { gets(print); if(strcmp(mima,print)==0) { printf("输入正确"); break; } else { if(j==2) { h=2; break; } printf("输入错误,你还有%d次机会!\n",-(i-3)); j++; } } if(h==2) { printf("三次全部输入错误,请重启程序!"); } return 0; }
3.编写一个函数,判断一个字符串是否是回文。若是回文函数返回值为1;否则返回值为0。回文是顺读和倒读都一样。如“level”“abba”等是回文,但“abcd”不是回文。在主函数中调用回文函数对输入的字符串进行判断。
#include<stdio.h> #define N 100 int panduan(char a[N]); int main() { char a[100]; int i; printf("输入字符"); gets(a); i=panduan(a); if(i) { printf("\n是回文字符"); } else { printf("不是回文字符"); } return 0; } int panduan(char a[N]) { int i,j,h,b=0; for(i=0;i<N;i++) { if(a[i]=='\0') break; } for(j=0,h=i-1;j<i;j++,h--) { if(a[h]==a[j]) { b=12; } else { b=20; break; } } if(b==12) { return 1; } else { return 0; } }
总结:输入字符函数 gets(),输出字符函数puts().字符拷贝,strcpy.
课程体会:写过多少行代码已经记不清楚了。。。开始以为C语言很高大上,但是学了之后,也是很简单,就是期中一种与电脑沟通的语言,
要学好C语言,就要多写代码,多犯错多改错。
采用博客提交作业,可以方便与其他同学交流,也方便与老师沟通,我推荐下届的也用这个。
没有什么意见,老师很负责,我很感谢老师对我的帮助