• 【启蒙】C笔记之初学阶段(上篇)


     

    (全是干货,如果你是C语言的初学者,搞懂如下推荐的题目,你就已经比你的同学走在前面很多了!)-------(后期补充)

    (如果有些代码你看不懂,请将你的问题写在评论区,我一定会回复你的!)

    这是我初学的时候觉得一些比较难的题目,我把这些题目推荐给大家,免去了做一些无用的题,还浪费了一些时间,无脑题少做,虽然很爽,但是对提高没啥好处。。。

    比如说,,这题:https://www.luogu.com.cn/problem/P1000

    榜一大佬的答案就是了,,,,不过嘞。。。。。。如果你的思路是榜二的思路,强烈推荐写一波(得费点神咯,hh~)

     做题流程:

    做题前审题一定要仔细,观察有哪一些限制条件,将关键词记下。(限制条件一定要找完整,要不然到后面会浪费很多时间)。
    一定要带草稿纸,在草稿纸中把你心里的想法用简单的C语言表达出来,
    写完之后对照限制条件顺着你自己的思路走一下,限制条件如果有点多的话,多自己用几个例子
    去代替,碰到错误纠正过来。
    最后照着纸的内容快速打码。
     
    思路大家都知道,最主要是调试代码的能力,我们平时刷题,练的就是调试代码的能力,如果你能很快的调试出代码的问题,那么你就能多争取一些时间去刷下一题,千万不要遇到困难就退缩,记得当时刷题的时候,一个题目要改几天,万匹草泥马奔腾而过,,,,时不时口吐芬芳。。。。。
     

    小提示:

    ①有时候思路是对的,感觉写的算正确,但是就是得不到满分。那可能题目再卡你的点,把范围开大一点,对于初学者来说,想开多大就开多大。开在主函数里面数据大了就会爆栈,所以开数组的话推荐开到主函数外面去。
     
    ②有循环这种语法就一定要好好用到,因为电脑是死的,不会偷懒,只会干傻逼事,所以我们有时候就没必要帮他想,累了自己。
    初学者一定要把思路转换过来,用电脑的思维去想问题,机器可没你那么聪明伶俐、冰雪聪明、秀外慧中、聪明才智、颖悟绝伦..........聪明....绝顶。
    (兄弟保重,我先剃为敬!)
     
    例:
     
    对于此题,我刚开始想,应该用什么数学公式,把双休日分开算,最后七算八算经过麻烦的死,一看答案,我的妈呀!!!真简单,就让电脑循环算,给他一个限制条件,给他一个终止命令,此题结束!  
    审题一定要仔细,弄清楚题目究竟要让你干什么。别被题目迷惑了。
    看完了一点提示,先做一下这题吧:https://www.luogu.com.cn/problem/P1424
     
     

    题目推荐

    在初学的时候,我就被这题绕住了,当时在网上搜到极简代码,用指针写,当时一脸懵逼,到了后面刷的题多了一点,才知道这题其实很简单,所以我把这题推荐给大家。

    http://www.51cpc.com/problem/1059

    附上个人题解:

     https://www.cnblogs.com/Attacking-vincent/p/12720837.html

    这题是有关于acill码的题目,当时对这个东西有点陌生。

    这里有个小技巧,(适用于不记得ACILL码,而且没网,,大多是在考试的时候),你可以这样:

    #include<stdio.h>
    int main(){
        char ch='a';
        printf("%d
    ",ch);
        return 0;
    } 
    关注点个赞吧!

    https://www.luogu.com.cn/problem/P1914

     这题就是利用了取模思想,有了取模,你就可以将一条直线的关联信息变成环状。

    #include<stdio.h>
    #include<string.h>
    int a[1000];
    int main(){
        int n,i;
        char a[1000];
        scanf("%d%s",&n,a);
        for(i=0;a[i]!='';i++){
            printf("%c",(a[i]-'a'+n)%26+'a');
        }
        return 0;
    }

    Tips:

    ①遇到辨别单词个数之类的时候用空格区分。(如果学了C++就不用写了)

    例题好好做哦,不会的知识点可留言哦,我肯定及时回答。

    附上题目http://www.51cpc.com/problem/1061

    附上个人题解https://www.cnblogs.com/Attacking-vincent/p/12721966.html

     ②只有奇数才会是质数。

    ③要懂得运用已有的数据,不要将数据复杂化,能减少变量就减少变量!

     
     

    题目解题方法

    冒泡排序法
     
     
    它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。(摘自百度百科)
     
     
    选择排序法
     
    它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。(摘自百度百科)
    个人感觉就是冒泡排序的升级版。
     
    有这种小数点的定要注意精度,防止精度丢失。
     

    递归函数相关概念

    对于递归函数,就是调用自己设计的函数,相当于循环函数;
    在这之中分为有参和无参
     

    递归例子:

     
    (如过你做过此题,请你再做一遍,真的很经典!)
    累计记得的单词数
     
    看完这个,我们再看看另一个题目吧
     
     
    做递归题,我们不能太着急,先在草稿纸中写好累积的算法,然后再调用函数。为什么会反着输出呢,是因为,要知道第一个摘下的桃子数量,就得先过第九天的程序,反向得到答案,运用电脑的特性,死算。
     
     

    一种新的数字倒序输出法!!

    这个想法当初被老师夸奖了一波,我现在推荐给大家,大家要好好用哦!!
     
     
    END?????
    看到这里感觉怎么样???
     
    什么???太简单了,同学都会。
    那就看看下篇中的我学习过程中遇到当时觉得比较好的代码吧!
     
    如果你这篇不懂,记得评论区留言哦!
    我会加以修改,说的更详细,谢谢你关注!
     
    【启蒙】C笔记之初学阶段(下篇)https://www.cnblogs.com/Attacking-vincent/p/12721609.html
     
     
    给个赞再走呗!
  • 相关阅读:
    jmeter非GUI模式命令
    jmeter性能测试--浪涌测试
    性能测试之场景设计
    性能测试用例实例
    jmeter常见错误及解决方法
    .NET中变量生存期
    SQL数据库从高版本导入低版本
    对称子字符串
    回溯法求解全排列问题(可去除重复排列)
    快速排序及快速选择问题
  • 原文地址:https://www.cnblogs.com/Attacking-vincent/p/12720675.html
Copyright © 2020-2023  润新知