首页 > 代码库 > 第十一次作业
第十一次作业
1.输入一个字符串,统计大写字母、小写字母、空格、数字和其他字符的个数。(要求用字符数组)
#include<stdio.h> #include<string.h> #define N 100 int main() { int a=0,b=0,c=0,d=0,e=0,i; char str[N]={0}; printf("请输入字符串"); gets(str); for(i=0;i<strlen(str);i++) { if(str[i]>=‘A‘&&str[i]<=‘Z‘) { a++; } else if(str[i]>=‘a‘&&str[i]<=‘z‘) { b++; } else if(str[i]>=‘0‘&&str[i]<=‘9‘) { c++; } else if(str[i]==‘ ‘) { d++; } else { e++; } } printf("大写字母=%d,小写字母=%d,数字=%d,空格=%d,其他字符=%d",a,b,c,d,e); return 0; }
2.利用字符数组进行密码的验证,如果密码正确则登陆成功,否则登录失败。密码允许输入三次。
#include<stdio.h> #include<string.h> int main() { int i; char password[]="fffwan",a[8]; for(i=0;i<3;i++) { printf("请输入密码\n"); scanf("%7s",a); if(strcmp(password,a)==0) { printf("登陆成功\n"); break; } else { printf("登录失败\n"); } } if(i==3) { printf("您的密码已输入错误三次,电脑即将爆炸!"); } return 0; }
3.编写一个函数,判断一个字符串是否是回文。若是回文函数返回值为1;否则返回值为0。回文是顺读和倒读都一样。如“level”“abba”等是回文,但“abcd”不是回文。在主函数中调用回文函数对输入的字符串进行判断。
#include<stdio.h> #include<string.h> #define N 100 int Fun(char str[]); int main() { int a; char str[N]; printf("请输入字符串\n"); scanf("%s",str); a=Fun(str); if(a==0) { printf("非回文数\n"); } else if(a==1) { printf("回文数\n"); } return 0; } int Fun(char str[]) { int i,j,n; n=strlen(str); for(i=0,j=n-1;i<=j;i++,j--) { if(str[i]!=str[j]) { return 0; } } if(str[i]==str[j]) { return 1; } }
实验总结:
1 scanf中不需要取地址符!
2 strlen(str)是求数组长度的正确表达形式!
3 字符数组最后一位为\0!
4 必要时应用清除缓存函数!
5 字符数组定义用char!
(三)
1 大概有三四千行左右的代码吧,开学初的时候觉得c语言十分难理解,离我们非常遥远,现在感觉c离我们挺近的,
第十一次作业
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。