注意:在输入字符串时,最后一个字符为‘\0‘, 虽然输出时显示为空格,但是系统检查为‘\0’!!!
代码:
#include<stdio.h> #include<string.h> char a[1005]; int str[1005][1005]; int n; int main() { for(int i = 0; i < 1005; i++) a[i] = ‘ ‘; for(int i = 0; i < 1005; i++) { for(int j = 0; j < 1005; j++) str[i][j] = ‘ ‘; } scanf("%d", &n); getchar(); gets(a); int len = strlen(a); int m = (len+n-1)/n; int k = 0; for(int i = 0; i < m; i++) { for(int j = 0; j < n; j++) { if(k < len) str[j][i] = a[k++]; else str[j][i] = ‘ ‘; } } for(int i = 0; i < n; i++) { for(int j = m-1; j >= 0; j--) { printf("%c", str[i][j]); } printf("\n"); } return 0; }