解题思路:
利用常量数组,将所需要的变化写进去,然后再依据自己进行的输入进行输出。正常思路绝对是可以的,然而………………:
像这样定义常量数组,直接依据下标变换进行输出即可 const char *rec="abcdefghijklmnopqrstuvwxyza"; const char *bec="ABCDEFGHIJKLMNOPQRSTUVWXYZA";
题目的数据一定是有一些奇怪的特殊符号,千万不要忽略,原样输出即可!!!!!
参考代码:
#include<bits/stdc++.h> using namespace std; int main(){ const char *rec="abcdefghijklmnopqrstuvwxyza"; const char *bec="ABCDEFGHIJKLMNOPQRSTUVWXYZA"; char ch; while((ch=getchar())!='\n'&&ch!=-1){ if(ch>='a'&&ch<='z') cout<<rec[ch-'a'+1]; else if(ch>='A'&&ch<='Z') cout<<bec[ch-'A'+1]; else cout<<ch; } return 0; }
换成C语言只需要把
cout<<rec[ch-'a'+1]; cout<<bec[ch-'A'+1];
换成
printf("%c",rec[ch-'a'+1]); printf("%c",bec[ch-'A'+1]);
即可
0.0分
5 人评分
#include <bits/stdc++.h> using namespace std; int main(){ char x[100]={0}; gets(x); for(int i=0;i<strlen(x);i++){ if(x[i]>='a'&&x[i]<='z'||x[i]>='A'&&x[i]<='Z'){ if(x[i]!='z'&&x[i]!='z'&&x[i]!=' ')x[i]++; if(x[i]=='z'&&x[i]!=' ')x[i]='a'; if(x[i]=='z'&&x[i]!=' ')x[i]='a'; printf("%c",x[i]); }else{ printf("%c",x[i]); } } return 0; }
#include<iostream> using namespace std; int main() { char a,b; cin>>a>>b; a+=1; b+=1; if(b==123) b=97; cout<<a<<b; return 0; } 这样子,在C++软件里都是行的,为什么在这里就是错了?
#include<stdio.h> int main() { char * p,a[999]={0}; p=gets(a); int j=0; j=strlen(p); for(int i=0;i<j;i++) { if(p[i]>='a'&&p[i]<='z') printf("%c",(p[i])+1); else printf("%c",p[i]); } return 0; }
有没有大佬看看哪里错了 #include <stdio.h> #include<string.h> int main() { int i; char str[100]; gets(str); int len; len = strlen(str); for (i = 0; i < len; i++) { if ((str[i] >= 'a'&&str[i] <= 'y') || (str[i] >= 'A'&&str[i] <= 'Y')) { printf("%c ", str[i]+1); } else if (str[i] =='z') { printf("a "); } else if (str[i] == 'Z') { printf("A "); } else printf("%c ", str[i]); } return 0; }
19信二霍安琪 2020-03-11 22:26:43 |
输出单个字符即可,把输出里的空格删了
#include<iostream> #include<stdio.h> #include<stdlib.h> using namespace std; int main() { char a[30]; gets(a); for(int i=0;i<19;i++) { if(a[i]>='a'&&a[i]<'z'||a[i]>='A'&&a[i]<'Z') { a[i]++; } if(a[i]=='z') { a[i]='a'; } if(a[i]=='Z') { a[i]='A'; } } puts(a); }这个也错误50%
19信二霍安琪 2020-03-11 22:28:14 |
为什么i<19,不应该是len吗
#include<stdio.h> #include<string.h> int main() { char b[100]; int a = 0; fgets(b,99,stdin); a = strlen(b); for (int i = 0; i < a - 1; i++) { if (b[i] >= 'a' && b[i] < 'z' || b[i] >= 'A' && b[i] < 'Z') b[i] += 1; else if (b[i] == 'z') b[i] = 'a'; else if (b[i] == 'Z') b[i] = 'A'; } puts(b); } 哪错了?
ch!=-1 之前一直超出时限,但这个加上了就通过了,小白想不明白,求大佬告知
UDP广播协议叫吃饭 2020-02-17 16:18:35 |
很简单,因为while是先输入的,需要进行一个判断ch是否已经输入完全了
最长单词 (C语言代码)浏览:1362 |
WU-输出正反三角形 (C++代码)浏览:1018 |
DNA (C语言描述,数据结构)浏览:850 |
完数 (C语言代码)浏览:685 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:632 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:1067 |
链表数据求和操作 (C语言代码)浏览:939 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1180 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:680 |
P1002 (C语言代码)浏览:951 |