题目描述
由键盘输入任意的一个由大写字母组成的字符串(不需检验是否为大写字母),要求以字符串的长度 l 作为图形的行数,并将输入的这个字符串作为图形的第一行进行打印输出。从第二行开始,图形的特点是:将第一行的最后两个字符整体移到最前就是第二行,再把第二行的最后两个字符整体移到最前就是第三行,依次进行,完成 l 行字母的输出。
输入
输入只有一个由大写字母组成的字符串,字符串的长度为 l(其中 3≤l≤26)。
输出
输出为符合题目要求的图形.
样例输入1
ABCDE
样例输出1
ABCDE
DEABC
BCDEA
EABCD
CDEAB
#include <stdio.h>
#include <string.h>
int main() {
char s[30] = { 0 };
gets(s);
int a = 0;
int l = strlen(s);
for (int i = 0; i < l; i++) {
for (int j = 0; j < l; j++) {
printf("%c", s[a]);
a++;
a %= l;
}
printf("\n");
a += l - 2;
a %= l;
}
return 0;
}