每日一题,是否存在(c语言)
每日一题:1.是否存在
是否存在
描述
猫咪非常喜欢饼干,尤其是字母饼干。现在,她得到一些字母饼干,她希望选择他们中的一些拼写某些单词。
你的任务是确定她是否可以拼出自己想要的单词。
输入
输入包含若干测试用例,对于每组测试用例:
第一行输入一个字符串S1(1 <= 长度 <= 100),代表她拥有的字母饼干。
第二行输入一个字符串S2(1 <= 长度 <= 100),代表她想要拼出的单词。
输出
对于每个测试用例,如果她可以拼出单词,请输出“Yes”,否则输出“No”。
#include<stdio.h>
int main()
{int a,b,c;
while(~scanf("%d%d%d",&a,&b,&c))//去地址符号没写
{if(a>b)
{if(a>c)
printf("1\n");
else
printf("3\n");
}
else
{if(b>c)
printf("2\n");
else
printf("3\n");
}
}
}
输入样例 1
ARDHPYP
HAPPY
ARDHPY
HAPPY
输出样例 1
Yes
No
分析:首先我们思考要拼出想要的单词,那字符串s2的每个字符都要在字符串s1中找到,所以从字符串S2的第一个字符以后都要和字符串s1依次比较( 字符串s2为外循环,字符串s2为内循环),直到和字符串s1的其中一个字符相等,就结束本次的循环(内循环),再重新进入外循环。我们需要引入一个变量
为了计算相等的次数,为了方便后面Yes和No的输出。还有一个要考虑的点,字符串s2和字符串s1里有相同的字符时,看样例1,怎么让HAPPY的第二个P在遍历字符串ARDHPYP遇到第一个P,设置计数的变量不计数呢或者说让他们不相等呢。那么我们可以把字符串ARDHPYP第一个P,在完成计数后,给他赋值,这里我是把字符#
赋给他。最后比较变量是否和s2的长度相等。如果相等,输出“Yes”,否则输出“No”。
用到的知识点:for循环的嵌套,break语句的运用,字符串数组,字符串对函数的引用,if语句。
代码如下:
#include<stdio.h>
#include<string.h>
int main()
{
int i,j,m,n,a;
char s1[100],s2[100];
while(~scanf("%s%s",s1,s2))
{
m=strlen(s2);
n=strlen(s1);
a=0;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(s2[i]==s1[j])
{
a++;
s1[j]='#';
break;
}
}
}
if(a==m)
{
printf("Yes\n");
}
else
printf("No\n");
}
}
做题时犯的错误:没加break语句,就导致当有相同字符时会多计数,导致答案错误。
不足:没有完全分析理解清楚题目
新手小白,有错希望指出。
座右铭:路要朝前走,人往未来看
每日一题,是否存在(c语言)的更多相关文章
- 【JavaScript】【KMP】Leetcode每日一题-实现strStr()
[JavaScript]Leetcode每日一题-实现strStr() [题目描述] 实现 strStr() 函数. 给你两个字符串 haystack 和 needle ,请你在 haystack 字 ...
- 【python】Leetcode每日一题-位1的个数
[python]Leetcode每日一题-位1的个数 [题目描述] 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量). 示例1 ...
- Java实习生常规技术面试题每日十题Java基础(七)
目录 1. Java设计模式有哪些? 2.GC是什么?为什么要有GC? 3. Java中是如何支持正则表达式. 4.比较一下Java和JavaSciprt. 5.Math.round(11.5) 等于 ...
- Java实习生常规技术面试题每日十题Java基础(六)
目录 1.在Java语言,怎么理解goto. 2.请描述一下Java 5有哪些新特性? 3.Java 6新特性有哪些. 4.Java 7 新特性有哪些. 5.Java 8 新特性有哪些. 6.描述Ja ...
- Java实习生常规技术面试题每日十题Java基础(四)
目录 1.String 和StringBuffer的区别. 2.数组有没有length()这个方法? String有没有length()这个方法? 3.final, finally, finalize ...
- Java实习生常规技术面试题每日十题Java基础(三)
目录 1.是否可以从一个static方法内部发出对非static方法的调用? 2.Integer与int的区别? 3.Overload和Override的区别.参数列表相同,返回值不同的方法,是否是重 ...
- Java实习生常规技术面试题每日十题Java基础(二)
目录 1. JAVA 的反射机制的原理. 2.静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同? 3.如何将String类型转化成Number类型. 4.什 ...
- Java实习生常规技术面试题每日十题Java基础(一)
目录 1.Java 的 "一次编写,处处运行"如何实现? 2.描述JVM运行原理. 3.为什么Java没有全局变量? 4.说明一下public static void main(S ...
- 【Java每日一题】20170106
20170105问题解析请点击今日问题下方的"[Java每日一题]20170106"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...
随机推荐
- Reinforcement Learning 强化学习入门
https://www.zhihu.com/question/277325426 https://github.com/jinglescode/reinforcement-learning-tic-t ...
- 基于Bootstrap v4.1.1 & Bootstrap-table-1.14.1实现数据瀑布流
基于Bootstrap-table-1.14.1实现数据瀑布流 HTML代码 <div id="AvgWaitAndAvgTimeServiceTimeData_hall"& ...
- GO安装golang.org/x/net扩展库
在学习golang过程中,有部分示例代码使用到了非标准库golang.org/x/net/html相关的库函数,但是标准代码库中没有该库,因此需要自己安装: 我这里使用git下载源码进行的安装. 为了 ...
- 手把手教你 Docker Compose的安装和使用
一.Docker Compose是什么? Docker Compose是一个工具,用于定义和运行多容器应用程序的工具: Docker Compose通过yml文件定义多容器的docker应用: Doc ...
- 计算机网络参考模型和5G模型的那些事
一.分层思想 二.OSI参考模型 三.TCP/IP协议族 四.数据封装和解封装过程 五.层间通讯过程 六.3GPP规范及5G协议栈 一.分层思想 享用牛奶的人未必了解其生产过程 使用网络的人未必知道数 ...
- Java反序列化漏洞Apache CommonsCollections分析
Java反序列化漏洞Apache CommonsCollections分析 cc链,既为Commons-Collections利用链.此篇文章为cc链的第一条链CC1.而CC1目前用的比较多的有两条链 ...
- ASP.NET Core Web API 教程 - Project Configuration
ASP.NET Core Web API 教程 本系列文章主要参考了<Ultimate ASP.NET Core 3 Web API>一书,我对原文进行了翻译,同时适当删减.修改了一部分内 ...
- liunx常见指令
linux目录结构 bin:存储普通命令 sbin:存储超级命令 home:存储普通用户 root:存储超级用户 usr /usr/local:下存储数据或软件,通常软件都放在其中 tmp:临时目录 ...
- 整理STC延时函数时遇到的玄学问题
void Delay { unsigned char i, j; i = 11; j = 190; do { while (--j); } while (--i); } void Delay { un ...
- PHP中的MySQLi扩展学习(四)mysqli的事务与预处理语句
对于 MySQLi 来说,事务和预处理语句当然是它之所以能够淘汰 MySQL(原始) 扩展的资本.我们之前也已经学习过了 PDO 中关于事务和预处理语句相关的内容.所以在这里,我们就不再多讲理论方面的 ...