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

    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方面不足的地方!我会向学弟学妹推荐这种形式!

  • 相关阅读:
    java网络编程【b站狂神课程笔记】
    算法设计与分析
    NP问题/NP完全问题(NP-complete problem)如何判断是否是NP完全问题
    递归的三部解题曲 关联leetcode 104. 二叉树最大深度练习
    修改typora偏好设置实现自动上传图片 关联PicGo + Gitee(码云) + typora实现markdown图床
    Typescript常见面试题
    INTEL Trusted Execution Technology (TXT) -- 基本原理
    北京大学肖臻老师《区块链技术与应用》笔记
    JavaGUI编程之贪吃蛇小游戏原码
    LeetCode 21.合并两个有序链表
  • 原文地址:https://www.cnblogs.com/5267wss/p/6172189.html
Copyright © 2011-2022 走看看