• 第十一次作业


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

    #include<stdio.h>
    #include<string.h>
    #define N 100
    int main()
    {
        int a=0,b=0,c=0,d=0,e=0,i;
        char str[N]={0};
        printf("请输入字符串");
        gets(str);
           for(i=0;i<strlen(str);i++)
        {
            if(str[i]>='A'&&str[i]<='Z')
            {
                a++;
            }
            else if(str[i]>='a'&&str[i]<='z')
            {
                b++;
            }
            else if(str[i]>='0'&&str[i]<='9')
            {
                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>
    #include<string.h>
    int main()
    {
        int i;
        char password[]="fffwan",a[8];
        for(i=0;i<3;i++)
        {
            printf("请输入密码
    ");
            scanf("%7s",a);
            if(strcmp(password,a)==0)
            {
                printf("登陆成功
    ");
                break; 
            }
            else
            {
                printf("登录失败
    ");
            } 
        } 
        if(i==3)
        {
            printf("您的密码已输入错误三次,电脑即将爆炸!");
        }
        return 0; 
    }

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

    #include<stdio.h>
    #include<string.h>
    #define N 100
    int Fun(char str[]);
    int main()
    {
        int a;
        char str[N];
        printf("请输入字符串
    ");
        scanf("%s",str);
        a=Fun(str);
        if(a==0)
        {
            printf("非回文数
    "); 
        }
        else if(a==1)
        {
            printf("回文数
    "); 
        }
        return 0;
    }
    int Fun(char str[])
    {
        int i,j,n;
        n=strlen(str);
        for(i=0,j=n-1;i<=j;i++,j--)
        {
            if(str[i]!=str[j])
                {
                    return 0;
                }
        }
        if(str[i]==str[j])
        {
            return 1;
        }
    }

    实验总结:

    1 scanf中不需要取地址符!

    2 strlen(str)是求数组长度的正确表达形式!

    3 字符数组最后一位为!

    4 必要时应用清除缓存函数!

    5 字符数组定义用char!

    (三)

    1 大概有三四千行左右的代码吧,开学初的时候觉得c语言十分难理解,离我们非常遥远,现在感觉c离我们挺近的,认真写能写出来一些小程序,可以试着慢慢写难一点的程序了!

    2 上课尽量要记笔记,下课自己多写代码,多尝试一些就会习惯一点,写代码的时候要认真一点,不要丢取地址符什么的,弄清各种结构!

    3 博客让自己能够更自主的完成课下作业,我认为它对我的帮助很大,另外也能让老师看到自己在c方面不足的地方!我会向学弟学妹推荐这种形式!

  • 相关阅读:
    OBS推流工具
    Spring学习笔记(二)
    设计模式
    力扣刷题 二分法 leetcode 刷题 27,26,283,844,977
    论文笔记 Processing Private Queries over Untrusted Data Cloud through Privacy Homomorphism 通过隐私同态处理不可信数据云上的私有查询
    今日链表操作leetcode 24 交换链表中的相邻两个结点
    leetcode刷题 leetcode22中等题 有效括号生成
    npm镜像 yarn镜像 homebrew镜像 各种镜像
    mac m1 pro 搭建php环境
    华为弹性ecs(centOS7)环境构建笔记
  • 原文地址:https://www.cnblogs.com/5267wss/p/6172189.html
Copyright © 2020-2023  润新知