这道题差点让我崩溃啊
1.我没有考虑n为负数 的情况
2.我没有考虑他的格式,当他是斜着的时候,第一个字母前面是没有空格的,当他平行于y轴的时候是在他们的中间字母之下的,而不是在第一个字母之下。
3.格式,格式,格式,很让我崩溃
#include<stdio.h>//不要忘记n为负数的情况 #include<string.h> int main(){ int n,s,i,j,len; char f[80]; while(scanf("%s %d",f,&n)!=EOF){ getchar(); len=strlen(f); s=n%8; if(s==0) printf("%s\n",f); if(s==1||s==-7){ for(j=len-1;j>=0;j--){ for(i=j;i>0;i--){ putchar(' ');} printf("%c\n",f[j]); } } if(s==2||s==-6){ for(i=len-1;i>=0;i--){ for(j=0;j<len/2;j++){ putchar(' ');} printf("%c\n",f[i]);}} if(s==3||s==-5){ for(i=len-1;i>=0;i--){ for(j=1;j<=len-1-i;j++){ putchar(' ');} printf("%c\n",f[i]); } } if(s==4||s==-4){ for(i=len-1;i>=0;i--){ printf("%c",f[i]);} printf("\n"); } if(s==5||s==-3){ for(i=0;i<len;i++){ for(j=len-1-i;j>0;j--){ putchar(' '); } printf("%c\n",f[i]); } } if(s==6||s==-2){ for(i=0;i<len;i++){ for(j=0;j<len/2;j++){ putchar(' '); } printf("%c\n",f[i]);}} if(s==7||s==-1) { for(i=0;i<len;i++){ for(j=1;j<=i;j++){ putchar(' '); } printf("%c\n",f[i]); } } } return 0; }