标签:学习 函数返回 相交 i++ break 完全 技术分享 调用 efi
1.输入一个字符串,统计大写字母、小写字母、空格、数字和其他字符的个数。(要求用字符数组)
#include<stdio.h> # define N 100 int main() { char a[N]; int a1=0,b=0,c=0,d=0,e=0,i=0; printf("输入字符串:\n"); gets(a); for(i=0;a[i]!=‘\0‘;i++) { if(a[i]>=‘A‘&&a[i]<=‘Z‘) { a1++; } else if(a[i]>=‘a‘&&a[i]<=‘z‘) { b++; } else if(a[i]>=‘0‘&&a[i]<=‘9‘) { c++; } else if(a[i]==‘ ‘) { d++; } else { e++; } } printf("大写字母有%d个,小写字母有%d个,数字有%d个,空格有%d个,其它有%d个。",a1,b,c,d,e); return 0; }
2.利用字符数组进行密码的验证,如果密码正确则登陆成功,否则登录失败。密码允许输入三次。
#include<stdio.h> #include<string.h> # define N 100 int main() { char a[N],b[N]; int i,c,d=3; printf("设置一个密码\n"); gets(a); printf("输入你的密码,有三次机会\n"); for(i=0;i<3;i++) { gets(b); if(strcmp(a,b)==0) { printf("密码正确\n"); break; } else if(d!=1) { printf("错,剩余%d次\n",d-1); d--; } else { printf("密码错误,没有机会了\n"); break; } } return 0; }
3.编写一个函数,判断一个字符串是否是回文。若是回文函数返回值为1;否则返回值为0。回文是顺读和倒读都一样。如“level”“abba”等是回文,但“abcd”不是回文。在主函数中调用回文函数对输入的字符串进行判断。
#include<stdio.h> #define N 100 int hui(char a[]); int main() { int i,j; char a[N]; printf("请输入一个字符串\n"); gets(a); if(hui(a)) { printf("是回文\n"); } else { printf("不是回文\n"); } } int hui(char a[]) { int j=-1,i; for(i=0;a[i]!=‘\0‘;i++) { j++; } for(i=0;i<j;i++,j--) { if(a[i]!=a[j]) { return 0; } } return 1; }
二、实验总结:
1.int c; while((c = getchar()) != ‘\n‘ && c != EOF); 可以清除缓存。
2.输入字符串时%s是不能输入空格,gets可以输入空格。
3.除gets和puts以外的字符串处理函数时要使用头文件string.h。
4.scanf函数输入字符串里不能包含空格,需要使用gets函数。
三、课程体会:
1.到现在代码大概打了一千多行吧,刚解除C语言时感觉这门课很神秘,学起来肯定很困难,等到学完一个学期后发现C语言主要是理解,等自己能够完全理解时,它也就变得简单的多了。
2.上课时一定要注意听讲,课下也要注意多复习课上讲的东西,虽然课本和老师讲的有一些不一样,但是在课下也一定要多看书,不要着急写代码。
3.我感觉技术博客提交作业的形式很新颖,紧跟时代潮流啊!!也能看到其他同学的作业,相互之间互相交流一下,及时改正。我会给下一届的学弟学妹推荐的,很方便,能更好地帮助他们学习。
标签:学习 函数返回 相交 i++ break 完全 技术分享 调用 efi
原文地址:http://www.cnblogs.com/buyuhang/p/6193536.html