字符串旋转,有负数,
abcdefg 2
g
f
e
d
c
d
a
#include<stdio.h> #include<string.h> int main() { int i,j,n,m; char s[100]; while(scanf("%s%d",s,&n)!=-1) { m=strlen(s); n=n%8; n=(8+n)%8; if(n==0) puts(s); else if(n==2) { for(i=m-1;i>=0;i--) { for(j=0;j<m/2;j++) printf(" "); printf("%c\n",s[i]); } } else if(n==4) { for(i=m-1;i>=0;i--) printf("%c",s[i]); printf("\n"); } else if(n==6) { for(i=0;i<m;i++) { for(j=0;j<m/2;j++) printf(" "); printf("%c\n",s[i]); } } else if(n==1) { for(i=m-1;i>=0;i--) { for(j=i-1;j>=0;j--) printf(" "); printf("%c\n",s[i]); } } else if(n==3) { for(i=m-1;i>=0;i--) { for(j=(m-1)-i;j>0;j--) printf(" "); printf("%c",s[i]); printf("\n"); } } else if(n==5) { for(i=0;i<m;i++) { for(j=(m-1)-i;j>0;j--) printf(" "); printf("%c\n",s[i]); } } else if(n==7) { for(i=0;i<m;i++) { for(j=0;j<i;j++) printf(" "); printf("%c\n",s[i]); } } } return 0; }