第十一次作业

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

#include<stdio.h>
#include<string.h>
#define n 100
int main()
{
    char str[n];
    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]<'Z'&&str[i]>'A')
        {
             a++;
        }
        else if(str[i]<'z'&&str[i]>'a')
        {
             b++;
        }
        else if(str[i]<'9'&&str[i]>'0')
        {
             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>
#define n 7
int main()
{
    char x[n]="123456",y[n];
    int i;
    printf("请输入你的密码\n");
    gets(y);
    for(i=0;i<3;i++)
    {
        if(strcmp(x,y)==0)
        {
            printf("密码正确");
            break;
        } 
        else
        {
            printf("密码错误请重新输入");
        }
        gets(y);
    }
    if(i>=3)
    {
        printf("不许再输啦");
    }
    return 0;
}

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

#include<stdio.h>
#define n 100
int main()
{
    char str[n];
    int i,c;
    printf("请输入一个字符串\n");
    gets(str);
    c=b(str);
    if(c==1)
    {
        printf("");
    }
    else
    {
        printf("不是");
    }
    return 0;
}
int b(char str[n])
{
    int a,i;
    a=strlen(str)-1;
        for(i=0;i<strlen(str);i++)
    {
        if(str[i]==str[a-i])
        {
            return 1;
        }
        else
        {
            return 0;
        }
    }
}

 

 

知识总结:

1.输入数组的时候是gets()数组名

2.strlen()数组名是表示下表的一个函数

3.strcmp是判断大小的函数

 

课程体会:

这种教学方式对于我这种对c语言学得不好的学生来说,其实是一个很好的机会。每一周一作业,都会督促着我去慢慢地学习c语言,不敢有放弃的年头,毕竟,c语言对于计算机专业的学生来说,无比重要。虽然每次作业不全是我自己做的,但是,最起码,可以跟上进度。老师,学长会很耐心的帮你看完,然后指出你的错误,对于我c语言的学习,有很大的帮助。

posted @ 2016-12-18 18:37  *翾*  阅读(167)  评论(1编辑  收藏  举报