现要对一个由字符a-z和A-Z组成的字符串进行解密,已知加密规则是:字符串中所有字符分别在大写或小写的字母表中被循环左移5位(fGh–>aBc)。请你写程序完成解密。
输入1行,为一个加密过的字符串(( 长度大于1 且小于50 且只包含大小写字母)。
输出1行,为解密后的字符串。
AbcExyZ
FghJcdE
#include
#include
int main(){
char s[51];
scanf("%s",&s);
for(int i=0;i<strlen(s);i++){
s[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;
}
输入正整数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)
#include
int main(){
int n,a,b,c,flag = 0;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%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;
}
若有非零整数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<n;i++){//输入数据
scanf("%d %d %d",&num[i][0],&num[i][1],&num[i][2]);
}
for(int i=0;i<n;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;
}
给定一个字符串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
#include
int main(){
char s[10000];
int N;
char ch;
scanf("%s",&s);
scanf("%d %c",&N,&ch);
int len = strlen(s);
for(int t=0;t<N;t++){
int 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;m<len-1;m++){
s[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<len;r++){
printf("%c",s[r]);
}
printf("\n");
}
for(int r=0;r<len;r++){
printf("%c",s[r]);
}
return 0;
}