C进阶习题一

作者: 不会编程的程序圆 | 来源:发表于2020-03-24 12:56 被阅读0次

    码字不易,对你有帮助 点赞/转发/关注 支持一下作者
    微信搜公众号:不会编程的程序圆
    看更多干货,获取第一时间更新



    想看更好的排版可以阅读原文
    阅读原文

    答案已上传至我的 Github 上,地址在文末,欢迎 star

    1.打印杨辉三角

    1
    1    1
    1    2    1
    1    3    3    1
    1    4    6    4    1
        ...
    

    2. 字符串旋转

    写一个函数,判断一个字符串是否为另外一个字符串旋转之后的字符串。

    例如:给定s1 =AABCD和s2 = BCDAA,返回1
    给定s1=abcd和s2=ACBD,返回0.

    AABCD左旋一个字符得到ABCDA
    AABCD左旋两个字符得到BCDAA
    AABCD右旋一个字符得到DAABC

    3. 字符串左旋

    实现一个函数,可以左旋字符串中的k个字符。
    
    例如:
    ABCD左旋一个字符得到BCDA
    ABCD左旋两个字符得到CDAB
    

    4. 杨氏矩阵

    有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的,请编写程序在这样的矩阵中查找某个数字是否存在。

    要求:时间复杂度小于O(N);

    可以先不去管复杂度问题,这里给出一种方便理解的算法。参考文章

    5. qsort 实现

    6. 猜凶手日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。

    以下为4个嫌疑犯的供词:

    A说:不是我。

    B说:是C。

    C说:是D。

    D说:C在胡说

    已知3个人说了真话,1个人说的是假话。

    现在请根据这些信息,写一个程序来确定到底谁是凶手。

    7. 猜名次

    5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果:

    A选手说:B第二,我第三;

    B选手说:我第二,E第四;

    C选手说:我第一,D第二;

    D选手说:C最后,我第三;

    E选手说:我第四,A第一;

    比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。

    在 Github 上看更全的目录:https://github.com/hairrrrr/C-CrashCourse

    代码已上传到 Github 上对应的目录下。


    以上就是本次的内容。

    如果文章有错误欢迎指正和补充,感谢!

    最后,如果你还有什么问题或者想知道到的,可以在评论区告诉我呦,我可以在后面的文章加上你们的真知灼见​​。

    关注我,看更多干货!

    我是程序圆,我们下次再见。

    相关文章

      网友评论

        本文标题:C进阶习题一

        本文链接:https://www.haomeiwen.com/subject/qjdoyhtx.html