• 第十一次作业


    一:实验内容

    1.

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

    代码:

    #include<stdio.h>
    #define N 100
    int main()
    {
        int i,number[5]={0};
        char c[N];
        printf("请输入一串字符。
    ");
        gets(c);
        for(i=0;c[i]!='';i++)
        {
            if(c[i]>='A'&&c[i]<='Z')
                number[0]++;
            else if(c[i]>='a'&&c[i]<='z')
                number[1]++;
            else if(c[i]==' ')
                number[2]++;
            else if(c[i]>='0'&&c[i]<='9')
                number[3]++;
            else
                number[4]++;
        }
        printf("大写字母有%d个
    小写字母有%d个
    空格有%d个
    数字有%d个
    其他字符有%d个",number[0],number[1],number[2],number[3],number[4]);
        return 0;
    }

    运行结果:

    2.

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

    代码:

    #include<stdio.h>
    #include<string.h>
    int main()
    {
        int n=2;
        char password[]="yangge",input[100];
        printf("请输入密码,你有三次机会:
    ");
        do
        {
            gets(input);
            if(strcmp(password,input)==0)
            {
                printf("密码正确,成功登陆
    ");
                break;
            }
            else
            {
                if(n==0)
                {
                    printf("登陆失败
    ");
                }
                else
                {
                    printf("输入错误,请重新输入,你还有%d次机会
    ",n);    
                }
                n--;
            }
        }
        while(n>=0);
        return 0;
     }

    运行结果:

    3.

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

    代码:

    #include<stdio.h>
    #include<string.h>
    #define N 100
    int palindrome(char c[]);
    int main()
    {
        char str[N];
        printf("请输入一个字符串:
    ");
        gets(str);
        if(palindrome(str))
        {
            printf("这个字符串是回文。
    ");
        }
        else
        {
            printf("这个字符串不是回文。
    ");
        }
        return 0;
    }
    int palindrome(char c[])
    {
        int i,j=-1;
        j=strlen(c)-1;
        for(i=0;i<j;i++,j--)
        {
            if(c[i]!=c[j])
            {
                return 0;
            }
        }
        return 1;
    }

    运行结果:

    二:实验总结

    1.使用除gets和puts以外的字符串处理函数时要记得使用头文件string.h。

    2.gets函数: 等不会读入数组,会转化为,会将其从缓冲区读走。

    3.C语言允许用字符串的方式对数组做初始化赋值。

  • 相关阅读:
    六、springboot集成Swagger2
    五、springboot单元测试
    四、Springboot Debug调试
    三、springboot热部署
    二、springboot配置
    一、springboot入门
    SpringBoot整合RabbitMQ
    消息总线
    分布式配置
    路由网关---zuul
  • 原文地址:https://www.cnblogs.com/kbx1602/p/6195125.html
Copyright © 2020-2023  润新知