1.输入一个字符串,统计大写字母、小写字母、空格、数字和其他字符的个数。(要求用字符数组)
#include<stdio.h> int main() { char s[100]; int d,x,y,z,q,i; gets(s); d=x=y=z=q=0; for(i=0;s[i];i++) if(s[i]>='A' && s[i]<='Z')d++; else if(s[i]>='a' && s[i]<='z')x++; else if(s[i]>='0' && s[i]<='9')y++; else if(s[i]==' ')z++; else q++; printf("大写字母有%d个 小写字母有 %d个 数字有 %d个 空格有%d个 其他字符有 %d个 ",d,x,y,z,q); }
2.利用字符数组进行密码的验证,如果密码正确则登陆成功,否则登录失败。密码允许输入三次。
#include<stdio.h> #include<string.h> int main() { char a[]="mima",b[100]; int i; printf("输入你的密码"); gets(b); if(strcmp(a,b)==0) { printf("密码正确,登陆成功!"); } while(strcmp(a,b)!=0) { i=1; do { printf("登录失败,请重新登录"); i++; gets(b); if(strcmp(a,b)==0) { printf("密码正确,登陆成功!"); break; } } while(i<3); } return 0; }
3.编写一个函数,判断一个字符串是否是回文。若是回文函数返回值为1;否则返回值为0。回文是顺读和倒读都一样。如“level”“abba”等是回文,但“abcd”不是回文。在主函数中调用回文函数对输入的字符串进行判断
#include<stdio.h> #include<string.h> int hui(char a[]); int main() { char z[100]; printf("请输入一串字符"); gets(z); if(hui(z)) { printf("是回文数"); } else if(hui(z)==0) { printf("不是回文数"); } return 0; } int hui(char a[]) { int i,j,z; z=strlen(a); for(i=0,j=z-1;i<=(z-1)/2;i++,j--) { if(a[i]!=a[j]) { break; } } if(i>j) { return 1; } else return 0; }
注意事项:
1、字符串一" "为结束标志
2、 占用一个字节
3、scanf不能输入空格字符串,但是gets可以
4、用strlen函数计算字符串长度时不将 算在内