本文主要是介绍【CSDN竞赛第四期】编程能力PK赛 赛后感,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
我主学网络空间安全专业,自大学以来,大大小小的编程比赛,也参加了许多。参加过学校里的比赛、PTA、蓝桥杯、ACM,也获得了一定成绩,虽然比不上大佬获得的各项大奖。
排行
暑假发现CSDN上也有了编程比赛,还能获得一些奖品,也参加了几期,这期比赛没有了选择题,只有四道编程。
在这里贴一下我这次比赛的成绩。题目解析等自有大佬发布,我也不班门弄斧了。
比赛bug
因为比赛要求不能使用本地IDE,不能复制粘贴,造成了一些不便。
有一道题一段代码修改后想要撤回到修改前,一直按Ctrl+Z,只能撤回几步,鼠标点了下,点到其他题目去了,没想到直接把其他题目的代码覆盖掉了,导致两题的代码都要重新打,导致我的心态受到了一点影响。
希望平台在这种严格的条件下,可以继续优化比赛平台,使其变得更易使用。
题目
1、小玉家的电费
夏天到了,各家各户的用电量都增加了许多,相应的电费也交的更多了。小玉家今天收到了一份电费通知单。小玉看到上面写:据闽价电[2006]27号规定,月用电量在150千瓦时及以下部分按每千瓦时0.4463元执行,月用电量在151~400千瓦时的部分按每千瓦时0.4663元执行,月用电量在401千瓦时及以上部分按每千瓦时0.5663元执行;小玉想自己验证一下,电费通知单上应交电费的数目到底是否正确呢。请编写一个程序,已知用电总计,根据电价规定,计算出应交的电费应该是多少。
输入描述:
输入一个整数,表示用电总计(单位以千瓦时计),不超过10000。
输出描述:
输出一个数,保留到小数点后1位(单位以元计,保留到小数点后1位)。
示例
输入
267
输出
121.5
代码
#include <stdio.h>float solution(int m){float result;// TODO: 请在此编写代码if(m>=401){result=150*0.4463+250*0.4663+(m-400)*0.5663;}else if(m>=151){result=150*0.4463+(m-150)*0.4663;}else{result=m*0.4463;}return result;
}int main() {int m;scanf("%d", &m);float result = solution(m);printf("%.1f", result);return 0;
}
2、单词逆序
对于一个字符串,请设计一个算法,只在字符串的单词间做逆序调整,也就是说,字符串由一些由空格分隔的部分组成,你需要将这些部分逆序。
给定一个原字符串A,请返回逆序后的字符串。例,输入”I am a boy!“输出”boy! a am I“
输入描述:
输入一行字符串str。(1<=strlen(str)<=10000)
输出描述:
返回逆序后的字符串。
示例
输入
It’s a dog!
输出
dog! a It’s
代码
不得不说,用Python实在太方便啦。
人生苦短,我用Python。
class Solution:def __init__(self) -> None:passdef solution(self, str):result = None# TODO: 请在此编写代码result=str.split()result.reverse()return resultif __name__ == "__main__":str = input().strip()s = Solution()result = s.solution(str)print(" ".join(result))
3、小Q整数分割
小Q决定把一个整数n,分割为k个整数。
每个整数必须大于等于1。
小Q有多少方案。
输入描述:
输入整数n,k.(1<=n,k<=100)
输出描述:
输出方案数。答案对1e9+7取模。
示例
输入
3 3
输出
10
4、新型美丽数列
定义美丽数列A:
- 数列中相邻的数越是靠内相对大小加一,a[2]=a[1]+1,a[n-2]=a[n-1]+1…
- 距离边缘距离相等的数的大小相等:a[0] = a[n-1],a[1] = a[n-2]…
通过修改最小的数字使得给定数列变成美丽数列。
修改后的值必须仍是正整数。
输入描述:
第一行输入整数n。(1<=n<=1000)表示数列的大小。
第二行输入n个整数。
输出描述:
输出最小修改。
示例
输入
3
1 1 1
输出
1
这篇关于【CSDN竞赛第四期】编程能力PK赛 赛后感的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!