每日一题: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语言)的更多相关文章

  1. 【JavaScript】【KMP】Leetcode每日一题-实现strStr()

    [JavaScript]Leetcode每日一题-实现strStr() [题目描述] 实现 strStr() 函数. 给你两个字符串 haystack 和 needle ,请你在 haystack 字 ...

  2. 【python】Leetcode每日一题-位1的个数

    [python]Leetcode每日一题-位1的个数 [题目描述] 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量). 示例1 ...

  3. Java实习生常规技术面试题每日十题Java基础(七)

    目录 1. Java设计模式有哪些? 2.GC是什么?为什么要有GC? 3. Java中是如何支持正则表达式. 4.比较一下Java和JavaSciprt. 5.Math.round(11.5) 等于 ...

  4. Java实习生常规技术面试题每日十题Java基础(六)

    目录 1.在Java语言,怎么理解goto. 2.请描述一下Java 5有哪些新特性? 3.Java 6新特性有哪些. 4.Java 7 新特性有哪些. 5.Java 8 新特性有哪些. 6.描述Ja ...

  5. Java实习生常规技术面试题每日十题Java基础(四)

    目录 1.String 和StringBuffer的区别. 2.数组有没有length()这个方法? String有没有length()这个方法? 3.final, finally, finalize ...

  6. Java实习生常规技术面试题每日十题Java基础(三)

    目录 1.是否可以从一个static方法内部发出对非static方法的调用? 2.Integer与int的区别? 3.Overload和Override的区别.参数列表相同,返回值不同的方法,是否是重 ...

  7. Java实习生常规技术面试题每日十题Java基础(二)

    目录 1. JAVA 的反射机制的原理. 2.静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同? 3.如何将String类型转化成Number类型. 4.什 ...

  8. Java实习生常规技术面试题每日十题Java基础(一)

    目录 1.Java 的 "一次编写,处处运行"如何实现? 2.描述JVM运行原理. 3.为什么Java没有全局变量? 4.说明一下public static void main(S ...

  9. 【Java每日一题】20170106

    20170105问题解析请点击今日问题下方的"[Java每日一题]20170106"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...

随机推荐

  1. 为什么Class实例可以不是全局唯一的——自定义类加载器

    为什么Class实例可以不是全局唯一的 通过定义两个类加载器加载同一字节码文件来证明Class实例为什么不是全局唯一的 1.将一个名为Demo(没有后缀)的字节码文件放在D盘根目录 2.定义两个类加载 ...

  2. xxs攻击

    1 XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中.比如这些代码包括HTML代码和客户端脚本.攻击者利用XSS漏洞旁路掉访问控制--例如 ...

  3. Mybatis(二)——全局配置文件

    一.在正文上方直接添加目录. 1.二级标题***申请开通js权限 2.添加js脚本到页脚Html代码 数组:采用一段连续的存储单元来"存储"数据.对于"指定下标" ...

  4. Git 系列教程(10)- 仓库别名

    Git 别名 前言 Git 并不会在你输入部分命令时自动推断出你想要的命令 如果不想每次都输入完整的 Git 命令,可以通过 git config 文件来轻松地为每一个命令设置一个别名 $ git c ...

  5. Docker(41)- Portainer 可视化面板安装

    Portainer docker run -d -p 8080:9000 \ --restart=always -v /var/run/docker.sock:/var/run/docker.sock ...

  6. Vue跨域问题解决

    项目根目录下创建vue.config.js module.exports = { devServer: { proxy: { //配置跨域 '/api': { //这里是真实的后台接口 target: ...

  7. LinkedList 添加元素源码解析

    jdk版本:1.8 LinkedList添加元素有两个方法:add(E e)和add(int index,E e). add(E e) /** * Appends the specified elem ...

  8. CentOS linux系统将UTC时间修改为CST时间

    1.编辑时间配置文件 1 2 3 4 # vi /etc/sysconfig/clock           ZONE="Asia/Shanghai"     UTC=false  ...

  9. Java跨平台原理(字节码文件,虚拟机)

    介绍 C/C++语言都直接编译成针对特定平台机器码.如果要跨平台,需要使用相应的编译器重新编译. Java源程序(.java)要先编译成与平台无关的字节码文件(.class),然后字节码文件再解释成机 ...

  10. linux centos系统 php安装GD库扩展

    yum --enablerepo=remi-php56 install php-gd php-mysql php-mbstring php-xml php-mcrypt //安装GD库扩展 servi ...