前言:

    这道题我无意中在CSDN看到的,实现的方法函数形参是一个数组指针,当时题目的形参是 char (*str)[ ],这样的话无法将它作为二维数组来使用,因为边界没有确定,把形参char (*str)[] 改为 char (*str)[ 100],边界得以确定,可以使用二维数组。形参char (*str)[100]就是说明 str是一个指针,它指向的类型为char [100]。所指对象确定了长度为 100字节。

1.题目描述:

X国最近开始严管枪火。 像是“ak”,“m4a1”,“skr”。都是明令禁止的。 现在小Q查获了一批违禁物品其中部分是枪支。小Q想知道自己需要按照私藏枪火来关押多少人。 (只有以上三种枪被视为违法)1.1输入描述:第一行输入整数n.(1<=n<=10000)表示携带违禁物品的人数。 以下n行表示违禁物品的名称。1.2输出描述:输出需要按照私藏枪火来关押的人。1.3.示例:
输入
3
Dsd
ak
232asd输出
1

2.代码

#include <stdio.h>
#include <stdlib.h>int solution(int m, char (*str)[100]){int result;// TODO: 请在此编写代码result = 0;int temp = 0;int gan_num = 0;int flag = 0;int j_back = 0;char gan[3][5] = {"ak","m4a1","skr"};for (int i = 0; i < m; i++){for(int k = 0; k < 3; k++){for (int j = 0; j < 100; j++){flag = 0;if(gan[k][temp] == '\0'){gan_num ++;temp = 0;flag = 1;}if(str[i][j] == '\0'){temp = 0;if(flag == 1)result++;break;}//printf("str[%d][%d]:%c gan[%d][%d]:%c\n",i,j,str[i][j],k,temp,gan[k][temp]);if(str[i][j] == gan[k][temp]){temp++;j_back = 1;}else{temp = 0;if(j_back == 1){j--;j_back = 0;}}}}}printf("gan_num:%d\n",gan_num);return result;
}int main() {int n;scanf("%d", &n);char (*str)[100];str = (char(*)[100])malloc(n * sizeof(char *));for (int i = 0; i < n; i++){scanf("%s", str[i]);}int result = solution(n, str);printf("result:%d\n", result);free(str);return 0;
}

3.测试结果

lxp@sr658:~/code_test/c_test$ gcc gan.c
lxp@sr658:~/code_test/c_test$ ./a.out
4
akakaak
sfmam4a1
lkjfs
skskr
gan_num:5
result:3

结论: 检测4个人。有3个人携带枪支,一共是5把枪。

编程题之一:严查枪火相关推荐

  1. 【CSDN每日一练 编程题 C语言】严查枪火

    时间限制:1000ms      内存限制:256MB 题目描述: X国最近开始严管枪火. 像是"ak","m4a1","skr".都是明令 ...

  2. 【CSDN|每日一练】严查枪火

    目录 运行结果 题目描述 输入描述: 输出描述: 示例 代码 结语 运行结果 题目描述 X国最近开始严管枪火. 像是"ak","m4a1","skr& ...

  3. python编程题-python编程题库

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 上期题目连接:1000道python题库系列分享十一(9道)上期题目答案:? 本期 ...

  4. python程序设计题库-python编程题库

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 上期题目连接:1000道python题库系列分享十一(9道)上期题目答案 ...

  5. JavaScript练习编程题2

    基础编程题 1.已知字符串:"this is a test of javascript" a.统计该字符串中字母s出现的次数 b.取出子字符串"test" c. ...

  6. 字节跳动Android面试全套真题解析在互联网火了,含泪整理面经

    前言 前面一篇文章分享了最近整理的大家伙的面试经历总结,有兴趣可以去翻看一下.这位去百度面试的小A同学的面试经历很有趣,因为他拿到了offer但是并没有去,在了解原因后挺认同他的想法的.这种职业价值观 ...

  7. [JS] [编程题] 配置文件恢复

    [编程题]配置文件恢复 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32M,其他语言64M 链接:https://www.nowcoder.com/questionTerminal/ ...

  8. Linux编程题:信号量同步三进程依次打印若干次ABC

    三个进程依次打印ABC..... 思路及大致流程如下: 思路取自这位大哥: Linux编程题:创建3个线程分别打印abc,用信号量进行同步_cleverlemon的博客-CSDN博客 这位大哥写的是线 ...

  9. c语言编程题餐饮服务打分,求详细分析C语言题餐饮服务质量调查打分题和答案..._质量员考试_帮考网...

    bangsaizhuo 新兵答主 11-09 TA获得超过6761个赞 二.填空题 1. ___变量__是指在程序运行过程中,值可以发生变化的量. 2.C语言是一种____区分_(区分/不区分)字母大 ...

最新文章

  1. 刚刚!华为突然传来这一消息,我想辞职了
  2. HtmlDocument
  3. 网吧网管在自杀前的遗书
  4. SQL SERVER 取所有表及注释 和 字段属性
  5. delete from t引发的血案
  6. jmeter 取json值_Jmeter入门13 后置处理器JSON Extractor提取json的多个值
  7. MPU6050开发 -- 卡尔曼滤波(转)
  8. 二叉树先序遍历,中序遍历,后序遍历,层次遍历学习总结及完整C/C++代码
  9. Java写一个简单的扫雷游戏
  10. Java多线程学习二十一:ConcurrentHashMap 在 Java7 和 8 有何不同
  11. java nio 2_Java NIO2:NIO概述
  12. 《JSP实用教程(第2版)/耿祥义》错误之import属性导入多个包
  13. 十大java视频学习网站
  14. FPGA厂家谁家强?
  15. Songtaste,酷到不行的音乐网站
  16. 入职百度第二周,我知道了这些
  17. 华硕PRIME Z390-P主板设置开启虚拟化技术
  18. 怎么卸载Safari浏览器?
  19. 批量下载人像图片的技巧,POCO相册图片如何下载的方法
  20. ARM处理器内核列表

热门文章

  1. [BUUCTF-N1BOOK]-【信息收集】[第一章 web入门]常见的搜集
  2. 高可用性架构:云计算和高可用性
  3. OC中Block基本使用
  4. Linux服务端开发——Linux中stat函数和stat命令使用详解
  5. PHP处理图片(JPG/PNG/GIF)
  6. 让工作效率提升200%的9款外贸工具
  7. 如何使用Reaver-PJ-Wi-Fi网络的WPA密码
  8. Struts 2.0 学生成绩管理系统
  9. ctfshow XSS
  10. 国外知名的源代码网站(转)