zoukankan      html  css  js  c++  java
  • 第十一次作业

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

  • 相关阅读:
    wget: command not found
    小程序循环多个picker选择器,实现动态增、减
    小程序 picker 多列选择器 数据动态获取
    有关https有的网站可以访问有的访问不了的问题
    微信小程序填坑之路
    linux如何搭建sftp服务器
    微信小程序模板中使用循环
    C#学习笔记(20)——使用IComparer(自己写的)
    C#学习笔记(19)——使用IComparer(百度文库)
    C#学习笔记(18)——C#构造函数中this和base的使用
  • 原文地址:https://www.cnblogs.com/buyuhang/p/6193536.html
Copyright © 2011-2022 走看看