第十一次作业

 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("输入字符串:
");
    gets(a);
    for(i=0;a[i]!='';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("设置一个密码
");
    gets(a);
    printf("输入你的密码,有三次机会
");
    for(i=0;i<3;i++)
    {
        gets(b);
        if(strcmp(a,b)==0)
        {
            printf("密码正确
");
            break;
        }
        else if(d!=1)
        {
            printf("错,剩余%d次
",d-1);
            d--; 
        }
        else
        {
            printf("密码错误,没有机会了
");
            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("请输入一个字符串
");
    gets(a);
    if(hui(a))
    {
        printf("是回文
");
    }
    else
    {
        printf("不是回文
");
    }
}
int hui(char a[])
{
    int j=-1,i;
    for(i=0;a[i]!='';i++)
    {
        j++;
    }
    for(i=0;i<j;i++,j--)
    {
        if(a[i]!=a[j])
        {
            return 0;
        }
    }
    return 1;
}

 二、实验总结:

1.int c; while((c = getchar()) != ' ' && c != EOF); 可以清除缓存。
2.输入字符串时%s是不能输入空格,gets可以输入空格。
3.除gets和puts以外的字符串处理函数时要使用头文件string.h。
4.scanf函数输入字符串里不能包含空格,需要使用gets函数。

 三、课程体会:

1.到现在代码大概打了一千多行吧,刚解除C语言时感觉这门课很神秘,学起来肯定很困难,等到学完一个学期后发现C语言主要是理解,等自己能够完全理解时,它也就变得简单的多了。

2.上课时一定要注意听讲,课下也要注意多复习课上讲的东西,虽然课本和老师讲的有一些不一样,但是在课下也一定要多看书,不要着急写代码。

3.我感觉技术博客提交作业的形式很新颖,紧跟时代潮流啊!!也能看到其他同学的作业,相互之间互相交流一下,及时改正。我会给下一届的学弟学妹推荐的,很方便,能更好地帮助他们学习。

原文地址:https://www.cnblogs.com/buyuhang/p/6193536.html