第十一次
1.输入一个字符串,统计大写字母、小写字母、空格、数字和其他字符的个数。(要求用字符数组)
#include<stdio.h>
#include<string.h>
#define N 1000
int main()
{
char str[N+1];
int i,a=0,b=0,c=0,d=0,e=0;
printf("请输入一串字符:\n");
gets(str);
for(i=0;i<strlen(str);i++)
{
if(str[i]>=65&&str[i]<=90)
{
a++;
}
else if(str[i]>=97&&str[i]<=122)
{
b++;
}
else if(str[i]==32)
{
c++;
}
else if(str[i]>=48&&str[i]<=57)
{
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()
{
char password[]="secret",input[8];
int i;
printf("ÇëÊäÈëÁùλÃÜÂë:\n");
i=1;
scanf("%7s",input);
while(1)
{
if(strcmp(password,input)==0)
{
printf("µÇ½³É¹¦\n");
break;
}
printf("ÃÜÂë´íÎóÇëÖØÐÂÊäÈë\n");
if(i>=3)
{
printf("ÕË»§Òѱ»¶³½á\n");
break;
}
scanf("%7s",input);
i++;
}
return 0;
}

3.编写一个函数,判断一个字符串是否是回文。若是回文函数返回值为1;否则返回值为0。回文是顺读和倒读都一样。如“level”“abba”等是回文,但“abcd”不是回文。在主函数中调用回文函数对输入的字符串进行判断。
#include<stdio.h>
#include<string.h>
#define N 100
int panduan(char str[N]);
int main()
{
int a;
char str[N];
printf("ÇëÊäÈëÒ»¸ö×Ö·û´®\n");
gets(str);
a=panduan(str);
if(a==1)
{
printf("ÊÇ»ØÎÄÊý\n");
}
else if(a==0)
{
printf("²»ÊÇ»ØÎÄÊý\n");
}
return 0;
}
int panduan(char str[N])
{
int i,j,n;
n=strlen(str)-1;
for(i=0,j=n-i;i<=j;i++,j--)
{
if(str[i]!=str[j])
{
return 0;
}
}
return 1;
}

实验总结:
1. 字符串的处理函数的头函数为string.h 字符串比较strcmp(字符串1,字符串2)字符串长度的函数strlen
2.输入字符串时%s是不能输入空格,gets可以输入空格
3.字符串结束的标志是‘0’ 所以存入数组时数组长度要加一位
课程体会
1.学了一个学期,代码写的也得上千行了吧,刚开学时,完全不懂c语言是个什么东西,更不知道c语言能干什么,一提计算机想到的就是黑客,后来才知道c语言是计算机编程语言,不需要任何运行环境支持便能运行的编程语言,可以自己写代码,编出小的程序,或者小游戏。
2.我认为学习c语言上课一定要好好听课,关于课本,我本人是没怎么看过,课本比脸都白,还一定要多写代码,没事时,在玩游戏之余打开c写写代码也是比较享受的。关于教训,就是写博客随笔的一定记得保存草稿,否则的话费半天劲写的东西说没就没。
3.博客这种提交作业的形式,还是比较好的,相当于系统的把自己写的实验又存了起来,想看时随时可以看,还有在写实验题时,遇到磕绊可以上博客看看系里大神们写的代码,作参考;还能看到同学们不同的写代码的思路。但是问题来了,就会有同学借此抄袭。关于下届学弟学妹们,当然会推荐给他们继续这种教学形式了。
4.感谢老师和助教,你们都很好,耐心的指导了每位有问题的同学,很有责任心,谢谢助教用自己的课余时间来帮助我们这群初学的学弟学妹们,还有谢谢老师不辞辛苦的看55位同学的所写的代码,对于我们学习c语言帮到了很多。
浙公网安备 33010602011771号