每日一题,是否存在(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; ...
随机推荐
- 为什么Class实例可以不是全局唯一的——自定义类加载器
为什么Class实例可以不是全局唯一的 通过定义两个类加载器加载同一字节码文件来证明Class实例为什么不是全局唯一的 1.将一个名为Demo(没有后缀)的字节码文件放在D盘根目录 2.定义两个类加载 ...
- xxs攻击
1 XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中.比如这些代码包括HTML代码和客户端脚本.攻击者利用XSS漏洞旁路掉访问控制--例如 ...
- Mybatis(二)——全局配置文件
一.在正文上方直接添加目录. 1.二级标题***申请开通js权限 2.添加js脚本到页脚Html代码 数组:采用一段连续的存储单元来"存储"数据.对于"指定下标" ...
- Git 系列教程(10)- 仓库别名
Git 别名 前言 Git 并不会在你输入部分命令时自动推断出你想要的命令 如果不想每次都输入完整的 Git 命令,可以通过 git config 文件来轻松地为每一个命令设置一个别名 $ git c ...
- Docker(41)- Portainer 可视化面板安装
Portainer docker run -d -p 8080:9000 \ --restart=always -v /var/run/docker.sock:/var/run/docker.sock ...
- Vue跨域问题解决
项目根目录下创建vue.config.js module.exports = { devServer: { proxy: { //配置跨域 '/api': { //这里是真实的后台接口 target: ...
- LinkedList 添加元素源码解析
jdk版本:1.8 LinkedList添加元素有两个方法:add(E e)和add(int index,E e). add(E e) /** * Appends the specified elem ...
- CentOS linux系统将UTC时间修改为CST时间
1.编辑时间配置文件 1 2 3 4 # vi /etc/sysconfig/clock ZONE="Asia/Shanghai" UTC=false ...
- Java跨平台原理(字节码文件,虚拟机)
介绍 C/C++语言都直接编译成针对特定平台机器码.如果要跨平台,需要使用相应的编译器重新编译. Java源程序(.java)要先编译成与平台无关的字节码文件(.class),然后字节码文件再解释成机 ...
- linux centos系统 php安装GD库扩展
yum --enablerepo=remi-php56 install php-gd php-mysql php-mbstring php-xml php-mcrypt //安装GD库扩展 servi ...