• CSDN编程竞赛-第六期(上)


                            CSDN编程竞赛报名地址:https://edu.csdn.net/contest/detail/16

    努力是为了让自己不平庸:

    前言/背景

    四道题都是相关字符串的,思路很好想,但是需要熟练使用,不能有小错误。

    参赛流程

    活动时间:9月8日-21日(竞赛时间截止9.18)

    竞赛考试时间:9月18日 8:30-11:00(作答时间2小时)

    获奖名单公布:9月23日,在本页面公布获奖名单链接

    获奖用户信息收集:9月27日

    奖品发放:9月30日后7个工作日内

    参赛经历

    这是我的第一次竞赛,在今天早早的就起来了,提前洗漱完毕,等待竞赛开始就直接进入

    一、严查枪火

    题目

    X国最近开始严管枪火。 像是“ak”,“m4a1”,“skr”。都是明令禁止的。 现在小Q查获了一批违禁物品其中部分是枪支。 小Q想知道自己需要按照私藏枪火来关押多少人。 (只有以上三种枪被视为违法)

    解题思路

    先定义一个变量用于用于控制输入多少字符串,一个for循环将输入的字符串存入定义好的数组里,再用枚举法判断每一个字符串是否满足为“ak”或“m4a1”或“skr”,满足则计数加1,最后输出计数

    代码

    1. #include "stdio.h"
    2. #include "string.h"
    3. int main() {
    4. int n, count;
    5. scanf("%d", &n);
    6. char str[n][10];
    7. for (int i = 0; i < n; i++) {
    8. scanf("%s", &str[i]);
    9. }
    10. for (int j = 0; j < n; j++) {
    11. if (strcmp(str[j], "ak") == 0 || strcmp(str[j], "m4a1") == 0 || strcmp(str[j], "skr") == 0) {
    12. count++;
    13. }
    14. }
    15. printf("%d", count);
    16. return 0;
    17. }

    运行结果

    二、鬼画符门

    题目

    鬼画符门,每年都会统计自己宗门鬼画符消耗的数量,往年一直是大师兄管理, 但是这次鬼艺接手了, 你能帮鬼艺写一个 程序统计每年消耗数量最多的鬼画符吗?

    解题思路

    本题考查的是找出数组中出现最多的元素并输出,可以用两个for循环计算每个元素在数组的个数然后放进一个数组里,对它们进行比大小,从而找到出现最多的索引。

    代码

    1. #include "stdio.h"
    2. #include "string.h"
    3. int main() {
    4. int n;
    5. scanf("%d", &n);
    6. char str[n][10];
    7. int count[n];
    8. for (int i = 0; i < n; i++) {
    9. scanf("%s", &str[i]);
    10. }
    11. for (int j = 0; j < n; j++) {
    12. for (int k = 0; k < n; k++) {
    13. if (strcmp(str[k], str[j]) == 0) {
    14. count[j]++;
    15. }
    16. }
    17. }
    18. int max = count[0];
    19. int m;
    20. for (int p = 0; p < n; p++) {
    21. if (max < count[p]) {
    22. max = count[p];
    23. m = p;
    24. }
    25. }
    26. printf("\n%s", str[m]);
    27. return 0;
    28. }

    执行结果

    经验心得

    要多多练习,多多刷题,熟练的使用算法。

    总结

    可以先看输入,输出实例可以快速理解题意,缩短做题时间。

  • 相关阅读:
    Linux生产者消费者模型(POSIX信号量)
    神经网络开发
    git 配置
    [网鼎杯 2018]Comment git泄露 / 恢复 二次注入 .DS_Store bash_history文件查看
    混合使用设计模式:策略模式+工厂模式+模板方法模式
    时间很快,我已二十
    Redis 主从架构数据同步
    物流批量查询:一键查询全部物流信息,高效管理快递
    维护积极的react native,为什么会有人造谣react native不维护了,停止维护。
    Ali-Sentinel-Spring WebMVC 流控
  • 原文地址:https://blog.csdn.net/m0_67388084/article/details/126915147