Rujia三道字符串入门题(WERTYU、TeX括号、周期串)

来源:互联网 发布:发条js调试工具 编辑:程序博客网 时间:2024/05/24 11:15

5.1.1 WERTYU

把手放在键盘上时,稍不注意就会往右错一位。这样的话,Q会变成W,J会变成K等。

输入一个错位后敲出的字符串,输出打字员本来想打出的句子

样例输入:O S, GOMR YPFSU/

样例输出:I AM FINE TODAY.

#include<stdio.h>char *s = "`1234567890-=QWERTYUIOP[]ASDFGHJKL;'ZXCVBNM,./";int main(){int i,c;while((c = getchar()) != EOF){for(i=1; s[i] && s[i]!=c; i++);if(s[i]) putchar(s[i-1]);elseputchar(c);}return 0;}


5.1.2 TEX括号

输入:"Hello,World!"

输出:<Hello,World!>

/** * Author:  * Data:  * Descripition:  5.1.2 Rujia book Page 70 */ #include <stdio.h>int main(){int c, q=1;while( (c = getchar()) != EOF){if(c == '"'){printf("%s",q ? "<" : ">");q = !q;}elseprintf("%c",c);}return 0;}


5.1.3 周期串

输出一个周期串的最小周期

输入:HoHoHo

输出:2

/** * Author: Rujia Liu *  * Descripition:  Rujia 5.1.3 */ #include <stdio.h>#include <string.h>int main(){char word[100];scanf("%s",word);int len = strlen(word);for(int i=1; i<=len; i++)if(len % i == 0){int ok = 1;for(int j=i; j<len; j++)if(word[j] != word[j % i]){ok = 0;break;}if(ok){printf("%d\n",i);break;}}return 0;}


 

原创粉丝点击