wordpress素材下载站,网店网站建设规划方案,wordpress自定义分类调用,东莞公司的网页怎么做的计算机能力挑战初赛2020.17题
题目描述#xff1a;
有一组均由字符A~Z和a~z组成的字符串,其中要求将字符串中各字符按如下要求进行转换#xff1a;
A-z、B-y、C-x、...... 、X-c、Y-b、Z-a
输入#xff1a; 第一行输入…计算机能力挑战初赛2020.17题
题目描述
有一组均由字符A~Z和a~z组成的字符串,其中要求将字符串中各字符按如下要求进行转换
A-z、B-y、C-x、...... 、X-c、Y-b、Z-a
输入 第一行输入字符串(长度10000
输出 输出转换之后的字符串。
样例输入 Algorithm
样例输出 zOTLIRGSN
样例输入 Hello
样例输出 sVOOL 题目分析
显然将输入的字符转化为ASCII码
根据观察得出输入的字符ASCII码 187 - 输出的字符ASCII码。
int main(void) {char str_1[5000];/*str_1表示输入的字符串*/scanf(%s, str_1);/*输入字符串*/char str_2[5000];/*for (int i 0; p ! 0; i) {str_2[i] 187 - str_1[i];p;};*/for (int i 0; i strlen(str_1); i) {if (i strlen(str_1)) {str_2[i] 187 - str_1[i];}else {str_2[i] 0;}}printf(%s, str_2);return 0;
}
但是还不够定义的字符串长度是有限的使用动态顺序表让输入可以无限长。 最终代码
#include stdio.h
#include string.h
#include stdlib.hint main(void) {/*str_1表示输入的字符串*/char* str_1 NULL;int capacity 5;int size 0;str_1 (char*)malloc(capacity * sizeof(char));int flag 0;for(int i 0;flag 0;i){if (size capacity) {int newcapacity capacity * 2;char * str (char*)realloc(str_1,newcapacity * sizeof(char));str_1 str;capacity newcapacity;}str_1[i] getchar();/*输入字符串*/size;if (str_1[i] \n) {flag 1;str_1[i] 0;/*str_1由字符数组转为字符串*/}}char* str_2 NULL;str_2 (char*)malloc(size * sizeof(char));for (int i 0; i strlen(str_1); i) {if (i strlen(str_1)) {str_2[i] 187 - str_1[i];}else {str_2[i] 0;}}printf(%s, str_2);free(str_1);str_1 NULL;free(str_2);str_2 NULL;return 0;
}