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

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

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

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

    #include<stdio.h>
    int main()
    {
        int i,a=3;
        char result[]={"taoxu"},answer[7];
        do
        {
            printf("请输入答案:
    ");
            fgets(answer,7,stdin);
            answer[5]='';   /*在你答案是的位置,直接进行赋值。 */
            if(strcmp(answer,result)==0)
            {
                printf("welcome!
    ");
                break;
            }
            else
            {
                if(a==1)
                {
                    printf("输入错误,没有机会了。");
                    break;
                }
                else
                    printf("输入错误,请重新输入,你还有%d次机会。",--a);
            }
        }while(a!=0);
        return 0;
    }

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

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

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

         scanf函数输入字符串里不能包含空格,需要使用gets函数。

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

         用循环输出字符串时,判断应为str[]不等于;

         测出字符串实际长度后应减一,应为数组下标是从0开始的。

         gets函数不安全,使用fgets函数。

           字符串结束标志也占一个字符长度,注意不要越界!

    (三)课程体会(请回答以下问题)

    1. 经过一个学期的学习,你统计过一共写了多少行代码吗?与开学初相比,你对C语言或者程序设计有了哪些认识和理解?

    答:作业加上平时练习和帮同学改的代码,应该超过四千行了吧;现在感觉c语言没那么神秘了,理解后觉得挺容易掌握的。

    2. 在C语言的学习过程中,你有什么经验和教训分享给大家?

    我认为码代码一定要冷静,静能生慧,只有头脑保持冷静才能减少错误的发生,尤其是发现错误时,一定要保持冷静,逐条去分析,或者采用一些技巧去调试;有不懂的问题一定要及时解决,等问题越攒越多,就像多米诺骨牌,以后再想跟上进度就难了;基础不好一定要课前预习,课后复习,并且多练,在老师讲之前,一定要抽时间去预习课本或者看网课,大概了解老师下一节课所讲的内容是什么,提前做好准备,课上把老师讲的重点记下来,课后做作业前复习下老师在群里发布的课件,有不懂的代码,不要光看,自己照猫画虎去码,多码几遍,分析分析就会明白的。

     3. 对于采用技术博客提交作业这种形式,你有什么看法,对你有帮助的地方在哪里?你觉得还可以做哪些改进?,如果下一届的学弟学妹们入学了,你会给他们推荐这种教学形式吗?

    我觉得这种形式特别好,可以把自己的学习记录,知识点以及所犯的错误都记录下来,回头去看自己一步步走过的脚步,心里满满的成就感,也方便自己复习所学过的知识,通过班级博客,也可以知道其他同学的学习情况,他们有好的思路,自己可以很方便的学习。

    4. 对于这门课程,对于老师和助教的工作,你有什么好的建议或者意见,都可以提出来,我们一起改进。

    老师和几位学长都很认真负责,自己能在大学遇到,很幸运,印象很深刻的是,有时就算是晚上十二点问老师问题,老师都能帮助我解决;宝清哥跟崧哥也是,什么时候问问题,都会不厌其烦的讲解,不光是C语言上的问题,其他科和学校生活上也总是告诉我们很多经验,谢谢你们!

  • 相关阅读:
    基本MVVM 和 ICommand用法举例(转)
    WPF C# 命令的运行机制
    628. Maximum Product of Three Numbers
    605. Can Place Flowers
    581. Shortest Unsorted Continuous Subarray
    152. Maximum Product Subarray
    216. Combination Sum III
    448. Find All Numbers Disappeared in an Array
    268. Missing Number
    414. Third Maximum Number
  • 原文地址:https://www.cnblogs.com/TX980502/p/6172227.html
Copyright © 2011-2022 走看看