1.输入一个字符串,统计大写字母、小写字母、空格、数字和其他字符的个数。(要求用字符数组)
#include <stdio.h> #define N 80 int main() { char a[N+1]; int b=0,c=0,d=0,e=0,other=0,m; printf("输入一串字符,以回车为结束标志 "); gets(a); for(m=0;m<N;m++) { if(a[m]>='A'&&a[m]<='Z') { b=b+1; } else if(a[m]>='a'&&a[m]<='z') { c=c+1; } else if(a[m]==' ') { d=d+1; } else if(a[m]>='0'&&a[m]<='9') { e=e+1; } else { other=other+1; } } printf("一共有%d个大写字母,%d个小写字母,%d个空格,%d个数字,有%d个其他字符",b,c,d,e,other); return 0; }
2.利用字符数组进行密码的验证,如果密码正确则登陆成功,否则登录失败。密码允许输入三次。
#include <stdio.h> #include <string.h> int main() { int i; char password[]="victory",input[10]; printf("请输入密码,你只有三次机会:victory "); for(i=1;i<=3;i++) { scanf("%8s",input); if(strcmp(password,input)==0) { printf("Welcome"); } else printf("请重新输入密码: "); continue; i++; if(i%3==0) break; } return 0; }
3.编写一个函数,判断一个字符串是否是回文。若是回文函数返回值为1;否则返回值为0。回文是顺读和倒读都一样。如“level”“abba”等是回文,但“abcd”不是回文。在主函数中调用回文函数对输入的字符串进行判断
#include <stdio.h> #define N 100 int in( char a[]); int main() { char ch[N]; printf("请输入一个回文字符串: "); gets(ch); if(in(ch)==1) { printf("是回文字符串 "); } else { printf("不是回文字符串 "); } return 0; } int in( char a[]) { int i,j,n; n=strlen(a); for(i=0,j=n-1;i<j;i++,j--) { if(a[i]!=a[j]) break; } if(i>=j) return 1; else return 0; }
实验总结:
1、字符串一" "为结束标志
2、 占用一个字节
3、scanf不能输入空格字符串,但是gets可以
4、char str[6]={"hello"}与char str[6]="hello"和char str[]="hello"表示的意义相同
课程体会
1、我觉得C语言其实就是一种将各种小知识点结合为大系统的一门语言,和平常语言一样,只要多练,多大代码,熟悉一些基本操作并做到运用自如就能将C简化到最简。/
2、做C最忌讳的就是不认真,因为在代码中,一个小小的错误就能引起一片程序的运行错误,所以,在C中要做到精确到标点符号
3、我觉得博客园是个不错的地方,可以将自己以前的程序储存起来,方便日后忘记了复习
4、我觉得应该鼓励学生多练习一些简单的代码,只有把简单的熟悉了,才能一步步解决更难的问题