zoukankan      html  css  js  c++  java
  • 2016-12-17

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

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

    总结:要将N 定义的足够大,不要忘记赋初始值

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

    #include <stdio.h>
    #include <string.h>
    int main()
    {
        int m=3;
        char mima[]="xar",daan[7];
        printf("请输入密码
    ");
        while(m>0)
        {
            gets(daan);
            if(strcmp(mima,daan)==0)
            {
                printf("YES
    ");
                break;
            }
            else
            {
                if(m==0)
                {
                    printf("NO
    ");
                    break;
                }
                else 
                {
                    printf("Error  你还有%d次机会
    ",m-1);
                }
                m--;
            }
        }
        return 0;
    }

    总结:注意m的取值   还有循环结束的条件

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

    #include<stdio.h>
    #include<string.h>
    #define N 100
    int zimu(char arr[]);
    int main()
    {
        char brr[N];
        printf("请输入字母
    ");
        gets(brr);
        if(zimu(brr))
        {
            printf("YES
    ");
        }
        else
        {
            printf("NO
    ");
        }
        return 0;
    }
    int zimu(char arr[])
    {
        int i,j;
        j=strlen(arr)-1;
        for(i=0;i<j;i++,j--)
        {
            if(arr[i]!=arr[j])
            {
                return 0;
            }
        }
        return 1;
    }

    总结:注意j--放的位置,要要确定数组的长度

    课程体会:

    1.开学到现在大概写了2000行代码左右,感觉和刚开学相比对于c语言总算是开窍了,算是入门了吧。

    2.在写代码的时候总是忘记加初始值,不细心,二维数组学的还是不太好,下来会好好的再把二维数组看看。

    3.感觉用博客园交作业挺好的,便于以后的复习,也便于大家的交流学习,没有啥需要改进的,下一届也用这种形式吧,给他们点压力

    4.老师和助教都特好,尤其是崧哥特别认真长得又帅还是个学霸,我们宝哥哥也是学霸可有耐心了,老师总是不厌其烦的给我们讲题,特别亲切,就是可惜下个学期不教我们了,下个学期我们会继续努力的学习C语言的。

  • 相关阅读:
    Shared Memory in Windows NT
    Layered Memory Management in Win32
    软件项目管理的75条建议
    Load pdbs when you need it
    Stray pointer 野指针
    About the Rebase and Bind operation in the production of software
    About "Serious Error: No RTTI Data"
    Realizing 4 GB of Address Space[MSDN]
    [bbk4397] 第1集 第一章 AMS介绍
    [bbk3204] 第67集 Chapter 17Monitoring and Detecting Lock Contention(00)
  • 原文地址:https://www.cnblogs.com/333xar/p/6189090.html
Copyright © 2011-2022 走看看