2020年计算机能力挑战赛C/C++初赛题解-创新互联

文章目录
  • 2020国赛能力挑战赛初赛C试题1-3
    • 题目描述
    • 输入说明
    • 输出说明
    • 输入样例
    • 输出样例
    • 题解
  • 2020国赛能力挑战赛初赛C试题2-1
    • 题目描述
    • 输入说明
    • 输出说明
    • 输入样例
    • 输出样例
    • 数据范围提示
    • 题解
  • 2020国赛能力挑战赛初赛C试题2-3
    • 题目描述
    • 输入说明
    • 输出说明
    • 输入样例
    • 输出样例
    • 数据范围
    • 题解
  • 2020国赛能力挑战赛初赛C试题4-1
    • 题目描述
    • 输入说明
    • 输出说明
    • 输入样例
    • 输出样例
    • 数据范围提示
    • 题解

成都创新互联公司是一家专业提供梓潼企业网站建设,专注与成都网站制作、网站设计、html5、小程序制作等业务。10年已为梓潼众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。2020国赛能力挑战赛初赛C试题1-3 题目描述

现要对一个由字符a-z和A-Z组成的字符串进行解密,已知加密规则是:字符串中所有字符分别在大写或小写的字母表中被循环左移5位(fGh–>aBc)。请你写程序完成解密。

输入说明

输入1行,为一个加密过的字符串(( 长度大于1 且小于50 且只包含大小写字母)。

输出说明

输出1行,为解密后的字符串。

输入样例

AbcExyZ

输出样例

FghJcdE

题解
#include#includeint main(){char s[51];
	scanf("%s",&s);
	for(int i=0;is[i] = s[i] + 5;
		if(s[i] >122){	s[i] = s[i]%122 + 96;
		}
		if(s[i] >90){	if(s[i]<97){		s[i] = s[i]%90 + 64;
			}
		}
	}
	printf("%s",s);
	return 0;
}
2020国赛能力挑战赛初赛C试题2-1 题目描述

输入正整数A、B、C(0<=A,B,C<=10000),若用’+‘、’-‘、’*‘、’/‘、’%'之一组成等式(即A@B=C,@是上述运算符之一,),则输出“YES”,否则输出“NO”。

输入说明

第1行:一个正整数N(1<=N<=1000),表示有N组数据,

第2-N+1行:非零整数A、B、C。

输出说明

N行,对于每行整数A、B、C,其计算结果各占一行。

输入样例
5

2 3 6

3 5 1

5 3 1

1 4 1

6 2 7
输出样例
YES

NO

NO

YES

NO
数据范围提示

(说明:输入样例中2*3=6,1%4=1)

题解
#includeint main(){int n,a,b,c,flag = 0;
	scanf("%d",&n);
	for(int i=0;iscanf("%d %d %d",&a,&b,&c);
		if( a+b==c || a-b==c || a*b==c) flag = 1;
		if(b){	if((double)a/b == c || a%b == c) flag = 1;
		}
		if(flag) printf("YES\n");
		if(!flag) printf("NO\n");
		flag = 0;
	}
	return 0;
}
2020国赛能力挑战赛初赛C试题2-3 题目描述

若有非零整数A、B、C,将其组成两个等式(A@B)#C=24、A@(B#C)=24,其中@和#为运算符号’+‘、’-‘、’*‘、’/‘、’%'之一,同一符号可选择一次或多次,如果这两个等式至少有一个成立,则输出YES,否则输出NO。

输入说明

第一行输入正整数N,表示有N组数据。(N<1000)

其后N行每行输入非零整数A、B、C(-1e5<=A、B、C<=1e5)

输出说明

如果两个等式至少有一个成立,则输出YES,否则输出NO,每组数据的输出占一行。

输入样例
3

4 1 6

3 4 5

6 3 12
输出样例
YES

NO

YES
数据范围

(注意,在该题中整数/整数,取结果的整数部分,例如1/4=0)

题解
#include"stdio.h"
int main(){int n;
	int num[2000][3];
	scanf("%d",&n);
	for(int i=0;i//输入数据
		scanf("%d %d %d",&num[i][0],&num[i][1],&num[i][2]);
	}
	for(int i=0;i//穷举列出运算式子的组合
		int flag=0;//设置逻辑标志
		if((num[i][0]+num[i][1])+num[i][2]==24||num[i][0]+(num[i][1]+num[i][2])==24){	flag=1;
		}
		if((num[i][0]+num[i][1])-num[i][2]==24||num[i][0]+(num[i][1]-num[i][2])==24){	flag=1;
		}
		if((num[i][0]+num[i][1])*num[i][2]==24||num[i][0]+(num[i][1]*num[i][2])==24){	flag=1;
		}
		if((num[i][0]+num[i][1])/num[i][2]==24||num[i][0]+(num[i][1]/num[i][2])==24){	flag=1;
		}
		if((num[i][0]+num[i][1])%num[i][2]==24||num[i][0]+(num[i][1]%num[i][2])==24){	flag=1;
		}
		if((num[i][0]-num[i][1])+num[i][2]==24||num[i][0]-(num[i][1]+num[i][2])==24){	flag=1;
		}
		if((num[i][0]-num[i][1])-num[i][2]==24||num[i][0]-(num[i][1]-num[i][2])==24){	flag=1;
		}
		if((num[i][0]-num[i][1])*num[i][2]==24||num[i][0]-(num[i][1]*num[i][2])==24){	flag=1;
		}
		if((num[i][0]-num[i][1])/num[i][2]==24||num[i][0]-(num[i][1]/num[i][2])==24){	flag=1;
		}
		if((num[i][0]-num[i][1])%num[i][2]==24||num[i][0]-(num[i][1]%num[i][2])==24){	flag=1;
		}
		if((num[i][0]*num[i][1])+num[i][2]==24||num[i][0]*(num[i][1]+num[i][2])==24){	flag=1;
		}
		if((num[i][0]*num[i][1])-num[i][2]==24||num[i][0]*(num[i][1]-num[i][2])==24){	flag=1;
		}
		if((num[i][0]*num[i][1])*num[i][2]==24||num[i][0]*(num[i][1]*num[i][2])==24){	flag=1;
		}
		if((num[i][0]*num[i][1])/num[i][2]==24||num[i][0]*(num[i][1]/num[i][2])==24){	flag=1;
		}
		if((num[i][0]*num[i][1])%num[i][2]==24||num[i][0]*(num[i][1]%num[i][2])==24){	flag=1;
		}
		if((num[i][0]/num[i][1])+num[i][2]==24){	flag=1;
		}
		if(num[i][1]+num[i][2]!=0){	if(num[i][0]/(num[i][1]+num[i][2])==24){		flag=1;
			}
		}
		if((num[i][0]/num[i][1])-num[i][2]==24){	flag=1;
		}
		if(num[i][1]-num[i][2]!=0){	if(num[i][0]/(num[i][1]-num[i][2])==24){		flag=1;
			}
		}
		if((num[i][0]/num[i][1])*num[i][2]==24){	flag=1;
		}
		if(num[i][1]*num[i][2]!=0){	if(num[i][0]/(num[i][1]*num[i][2])==24){		flag=1;
			}
		}
		if(num[i][1]/num[i][2]!=0){//防止除数为0
			if(num[i][0]/(num[i][1]/num[i][2])==24){		flag=1;
			}
		}
		if((num[i][0]/num[i][1])/num[i][2]==24){	flag=1;
		}
		if((num[i][0]/num[i][1])%num[i][2]==24){	flag=1;
		}
		if(num[i][1]%num[i][2]!=0){	if(num[i][0]/(num[i][1]%num[i][2])==24){		flag=1;
			}
		}
		if((num[i][0]%num[i][1])+num[i][2]==24){	flag=1;
		}
		if(num[i][1]+num[i][2]!=0){	if(num[i][0]%(num[i][1]+num[i][2])==24){		flag=1;
			}
		}
		if((num[i][0]%num[i][1])-num[i][2]==24){	flag=1;
		}
		if(num[i][1]-num[i][2]!=0){	if(num[i][0]%(num[i][1]-num[i][2])==24){		flag=1;
			}
		}
		if((num[i][0]%num[i][1])*num[i][2]==24){	flag=1;
		}
		if(num[i][1]*num[i][2]!=0){	if(num[i][0]%(num[i][1]*num[i][2])==24){		flag=1;
			}
		}
		if(num[i][1]/num[i][2]!=0){//防止除数为0
			if(num[i][0]%(num[i][1]/num[i][2])==24){		flag=1;
			}
		}
		if((num[i][0]%num[i][1])/num[i][2]==24){	flag=1;
		}
		if((num[i][0]%num[i][1])%num[i][2]==24){	flag=1;
		}
		if(num[i][1]%num[i][2]!=0){	if(num[i][0]%(num[i][1]%num[i][2])==24){		flag=1;
			}
		}
		if(flag==1){	printf("YES\n");
		}else{//flag为0时表示上述的所以组合没有等于24的
			printf("NO\n");
		}
	}
	return 0;
}
2020国赛能力挑战赛初赛C试题4-1 题目描述

给定一个字符串s,先要对字符串第i个到第j个字符中查找是否存在字符ch,若存在,则删除其中第一个字符ch,若不存在,则在第j个字符后插入字符ch。

输入说明

第一行输入字符串s(长度len<1000)。

第二行输入正整数N和字符ch,N表示其后有N次操作(N<100)。

从第三行开始,其后N行每行有两个正整数i和j(1<=i<=j<=len)。

输出说明

输出N次操作之后的字符串。

输入样例
abcdefg

2 d

1 3

2 6
输出样例
abcdefg
数据范围提示

(解释:abcdefg–>abcddefg–>abcdefg)

题解
#include#includeint main(){char s[10000];
	int N;
	char ch;
	scanf("%s",&s);
	scanf("%d %c",&N,&ch);
	int len = strlen(s);
	for(int t=0;tint i,j,flag = 0;
		scanf("%d %d",&i,&j);
		for(int f=i-1;f<=j-1;f++){	if(s[f]==ch){		flag = 1;
				for(int m=f;ms[m] = s[m+1];		
				}
				len--;
				break;
			}
		}
		if(!flag){	for(int t=len;t>j;t--){		s[t] = s[t-1];
			}
			s[j] = ch;
			len++;
		}
		for(int r=0;r	printf("%c",s[r]);
		}
		printf("\n");
	}
	for(int r=0;rprintf("%c",s[r]);
	}
	return 0;
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

分享题目:2020年计算机能力挑战赛C/C++初赛题解-创新互联
标题链接:https://www.cdcxhl.com/article8/ccehip.html

成都网站建设公司_创新互联,为您提供标签优化服务器托管品牌网站设计动态网站建站公司微信公众号

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营