第十一次作业
Posted 梦你。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十一次作业相关的知识,希望对你有一定的参考价值。
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离我们挺近的,认真写能写出来一些小程序,可以试着慢慢写难一点的程序了!
2 上课尽量要记笔记,下课自己多写代码,多尝试一些就会习惯一点,写代码的时候要认真一点,不要丢取地址符什么的,弄清各种结构!
3 博客让自己能够更自主的完成课下作业,我认为它对我的帮助很大,另外也能让老师看到自己在c方面不足的地方!我会向学弟学妹推荐这种形式!
以上是关于第十一次作业的主要内容,如果未能解决你的问题,请参考以下文章