1.输入一个字符串,统计大写字母、小写字母、空格、数字和其他字符的个数。(要求用字符数组)
#include <stdio.h> #define N 100 int main() { int i,a=0,b=0,c=0,d=0,e=0; char arr[N]; printf("请输入字符\n"); gets(arr); for(i=0;arr[i]!=‘\0‘;i++) { if(arr[i]>=‘A‘&&arr[i]<=‘Z‘) { a++; } else if(arr[i]>=‘a‘&&arr[i]<=‘z‘) { b++; } else if(arr[i]>=‘0‘&&arr[i]<=‘9‘) { c++; } else if(arr[i]==‘ ‘) { d++; } else { e++; } } printf("大写字母有%d\n小写字母有%d\n数字有%d\n空格有%d\n其他字符有%d\n",a,b,c,d,e); printf("\n"); return 0; }
总结:要将N 定义的足够大,不要忘记赋初始值
2.利用字符数组进行密码的验证,如果密码正确则登陆成功,否则登录失败。密码允许输入三次。
#include <stdio.h> #include <string.h> int main() { int m=3; char mima[]="xar",daan[7]; printf("请输入密码\n"); while(m>0) { gets(daan); if(strcmp(mima,daan)==0) { printf("YES\n"); break; } else { if(m==0) { printf("NO\n"); break; } else { printf("Error 你还有%d次机会\n",m-1); } m--; } } return 0; }
总结:注意m的取值 还有循环结束的条件
3.编写一个函数,判断一个字符串是否是回文。若是回文函数返回值为1;否则返回值为0。回文是顺读和倒读都一样。如“level”“abba”等是回文,但“abcd”不是回文。在主函数中调用回文函数对输入的字符串进行判断。
#include<stdio.h> #include<string.h> #define N 100 int zimu(char arr[]); int main() { char brr[N]; printf("请输入字母\n"); gets(brr); if(zimu(brr)) { printf("YES\n"); } else { printf("NO\n"); } return 0; } int zimu(char arr[]) { int i,j; j=strlen(arr)-1; for(i=0;i<j;i++,j--) { if(arr[i]!=arr[j]) { return 0; } } return 1; }
总结:注意j--放的位置,要要确定数组的长度
课程体会:
1.开学到现在大概写了2000行代码左右,感觉和刚开学相比对于c语言总算是开窍了,算是入门了吧。
2.在写代码的时候总是忘记加初始值,不细心,二维数组学的还是不太好,下来会好好的再把二维数组看看。
3.感觉用博客园交作业挺好的,便于以后的复习,也便于大家的交流学习,没有啥需要改进的,下一届也用这种形式吧,给他们点压力
4.老师和助教都特好,尤其是崧哥特别认真长得又帅还是个学霸,我们宝哥哥也是学霸可有耐心了,老师总是不厌其烦的给我们讲题,特别亲切,就是可惜下个学期不教我们了,下个学期我们会继续努力的学习C语言的。
时间: 2024-10-04 17:36:32