编程题之一:严查枪火
前言:
这道题我无意中在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把枪。
编程题之一:严查枪火相关推荐
- 【CSDN每日一练 编程题 C语言】严查枪火
时间限制:1000ms 内存限制:256MB 题目描述: X国最近开始严管枪火. 像是"ak","m4a1","skr".都是明令 ...
- 【CSDN|每日一练】严查枪火
目录 运行结果 题目描述 输入描述: 输出描述: 示例 代码 结语 运行结果 题目描述 X国最近开始严管枪火. 像是"ak","m4a1","skr& ...
- python编程题-python编程题库
广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 上期题目连接:1000道python题库系列分享十一(9道)上期题目答案:? 本期 ...
- python程序设计题库-python编程题库
广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 上期题目连接:1000道python题库系列分享十一(9道)上期题目答案 ...
- JavaScript练习编程题2
基础编程题 1.已知字符串:"this is a test of javascript" a.统计该字符串中字母s出现的次数 b.取出子字符串"test" c. ...
- 字节跳动Android面试全套真题解析在互联网火了,含泪整理面经
前言 前面一篇文章分享了最近整理的大家伙的面试经历总结,有兴趣可以去翻看一下.这位去百度面试的小A同学的面试经历很有趣,因为他拿到了offer但是并没有去,在了解原因后挺认同他的想法的.这种职业价值观 ...
- [JS] [编程题] 配置文件恢复
[编程题]配置文件恢复 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32M,其他语言64M 链接:https://www.nowcoder.com/questionTerminal/ ...
- Linux编程题:信号量同步三进程依次打印若干次ABC
三个进程依次打印ABC..... 思路及大致流程如下: 思路取自这位大哥: Linux编程题:创建3个线程分别打印abc,用信号量进行同步_cleverlemon的博客-CSDN博客 这位大哥写的是线 ...
- c语言编程题餐饮服务打分,求详细分析C语言题餐饮服务质量调查打分题和答案..._质量员考试_帮考网...
bangsaizhuo 新兵答主 11-09 TA获得超过6761个赞 二.填空题 1. ___变量__是指在程序运行过程中,值可以发生变化的量. 2.C语言是一种____区分_(区分/不区分)字母大 ...
最新文章
- 刚刚!华为突然传来这一消息,我想辞职了
- HtmlDocument
- 网吧网管在自杀前的遗书
- SQL SERVER 取所有表及注释 和 字段属性
- delete from t引发的血案
- jmeter 取json值_Jmeter入门13 后置处理器JSON Extractor提取json的多个值
- MPU6050开发 -- 卡尔曼滤波(转)
- 二叉树先序遍历,中序遍历,后序遍历,层次遍历学习总结及完整C/C++代码
- Java写一个简单的扫雷游戏
- Java多线程学习二十一:ConcurrentHashMap 在 Java7 和 8 有何不同
- java nio 2_Java NIO2:NIO概述
- 《JSP实用教程(第2版)/耿祥义》错误之import属性导入多个包
- 十大java视频学习网站
- FPGA厂家谁家强?
- Songtaste,酷到不行的音乐网站
- 入职百度第二周,我知道了这些
- 华硕PRIME Z390-P主板设置开启虚拟化技术
- 怎么卸载Safari浏览器?
- 批量下载人像图片的技巧,POCO相册图片如何下载的方法
- ARM处理器内核列表