第一题
读题:
输入How are you!输出Fine!
输入Bye Bye !输出Bye!
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
思路:
分支语句典型练习,对于新手建议认真做,做完再看题解!
当然坑点就是getline(),否则空格处断开对于我而言只能
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
代码:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
第二题
读题:
判断年份是否为闰年
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
思路:
闰年产生:
地球绕太阳转一圈是一年,地球自转一圈是一天.一年的时间不是整数的天数(这是自然形成的,要是正好是整数天数才怪),而是大约365.24天.因为这个原因,下一年开始的时刻要比上一年提前大约0.24天,这样10年提前2.4天,100年提前24天,过个几百年,季节和月份的关系就要颠倒了,会给人们的生活带来不便,所以要用闰年来解决这个问题.每四年加一天,闰年366天,下一年开始的时刻就又大致回到了原点。
这就是为什么我们说四年一闰 百年不闰 四百年再闰了,就是4的倍数但不是100的倍数的年份或者400的倍数的年份就是闰年的年份
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
代码:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
第三题:
读题:
给定的h:m:s的时间,求这是第几秒
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
思路:
时间换算规则:
1h=60m
1m=60s
求高级单位用除法,而求低级单位用乘法,这里1h=(60*60)s
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
代码:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
第四题
读题:
给定一个十进制数,转换为二进制说出其中1的个数
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
思路:
各位见过bitset<n>吗?这是个非常好用的东西
bitset<n>可以定义一个bitset类型的占用n位的二进制数的空间,例如二进制数10011010可以用bitset<8>定义,也可以用bitset<32>,但不可以用bitset<4>,因为这样没开够空间
那么我们可以定义int类型的数,它最大值为2147483647,那么它占位为
最长为32,那么对于109的数据足够了,那么开
这样就可以存储这个整数了。
接下来就是调用bs.to_string()的函数把它转换为字符串类型,那么可以用<algorithm>的count()函数了。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
代码:
备注:这时我个人的bitset方法,而对于其他像递归的方法也是可以的,不局限于这种方法
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
第五题
读题:
还原把l写作1,把o写作0的字符串
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
思路:
其实用不着string,重复读入char类型的variable就可以了
考点很low,还是分支语句做判断
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
代码:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
第六题
读题:
给定一个长度为n的整数序列,求出最大的k个整数,按升序输出
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
思路:
贪心。
先降序排序,然后逆向遍历这个数组前k项
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
代码:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
第七题:
读题:
买一送一,问最少多少钱才能买光给定的物品
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
思路:
贪心。
先排序,然后{
1-双指针 模拟操作,左加加右减减直到左大于右
2-截取前半段用accumulate()的想法,注意导入<numeric>
}
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
代码:
当然,我用的是双指针
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
第八题:
读题:
输出acgo官网网址
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
思路:
新手看啥,自己做;高手看啥,不会错。
纯粹的输出,连getline的坑都没有,好简单啊
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
代码:
极简代码