第十一次作业

一、实验内容      

1.输入一个字符串,统计大写字母、小写字母、空格、数字和其他字符的个数。(要求用字符数组)

#include<stdio.h>
#define N 50
int main()
{
    char zf[N];
    int i,d=0,x=0,s=0,k=0,q=0;
    printf("输入一个字符串");
    gets(zf);
    for(i=0;i<N;i++)
    {
        if(zf[i]=='')
            break;
        if(zf[i]>='A'&&zf[i]<='Z')
        {d++;continue;}
        if(zf[i]>='a'&&zf[i]<='z')
        {x++;continue;}
        if(zf[i]>='0'&&zf[i]<='9')
        {s++;continue;}
        if(zf[i]==' ')
        {k++;continue;}
        else
        {q++;continue;}
    }
    printf("大写字母有%d个,小写字母有%d个,数字有%d个,空格有%d个,其它有%d个",d,x,s,k,q);
    return 0;
}

2.利用字符数组进行密码的验证,如果密码正确则登陆成功,否则登录失败。密码允许输入三次。

#include<stdio.h>
#include<string.h>
int main()
{
    char password[6]="tiger",ch[6];
    int i;
    printf("输入密码
");
    for(i=0;i<3;i++)
    {
        gets(ch);
        if(strcmp(password,ch)==0)
        {
            printf("登陆成功
"); 
            break;
        }
        else
        {
            printf("登陆失败,请重新输入
"); 
        }
    }
    return 0; 
}

3.编写一个函数,判断一个字符串是否是回文。若是回文函数返回值为1;否则返回值为0。回文是顺读和倒读都一样。如“level”“abba”等是回文,但“abcd”不是回文。在主函数中调用回文函数对输入的字符串进行判断。

#include<stdio.h>
#include<string.h>
int putNum(char num[]);
int main()
{
 char num[7];
 printf("输入一串字符
");
    scanf("%s",num); 
 if(putNum(num)==1)
 {
 printf("是回文数
"); 
 }
 else
 {
 printf("不是回文数
"); 
 }
 return 0; 
}
int putNum(char num[])
{
 int a,i,j,c;
 c=strlen(num)-1;
 for(j=c,i=0;i<=j;i++,j--) 
    {
    if(num[i]!=num[j])
 {
 return 0;
 }
 }
 return 1;

}

 实验总结:1.输入字符用函数 gets(),输出字符用函数puts()。

2.字符的拷贝用strcpy。

3.strcmp是判断大小的函数。

课程体会:1.无论是作业还是平时的练习,写了多少行代码已经多到不记得了。和刚开始学习c语言比较,现在再看c语言也没有那么触碰不到或者离我很远了,反而是更像其他学科一样了。

2.经验的话一定是要读清楚题。

3.这种形式对我来说有些麻烦。我觉得有点浪费时间但是他也有优点就是能够更好的总结和记录。对于以后也推荐吧。

4.对老师和学长们感觉挺好的,就是有时候新的知识点老师讲了之后还是不明白但是学长学姐也忘记了这个知识点了。这个时候我就觉得挺无助的然后耽误了写代码的时间。希望老师能够对新的知识点多多复习让我们更好地消化它。

原文地址:https://www.cnblogs.com/gangfeng/p/6194417.html