之前用cin输入老是WA,后面改成scanf就过了,不知道什么原因!还有一点就是中心位置不改变,有两种旋转方式,顺时针和逆时针!!!
#include<bits/stdc++.h>
using namespace std;
int main()
{
char str[85];
int n,k,len;
while(scanf("%s%d",str,&n)!=EOF)
{
len=strlen(str);
k=n%8;
if(k==0)
printf("%s\n",str);
if(k==1||k==-7)
{
for(int i=0;i<len;i++)
{
for(int j=0;j<len-1-i;j++)
printf(" ");
printf("%c\n",str[len-1-i]);
}
}
if(k==2||k==-6)
{
for(int i=0;i<len;i++)
{
for(int j=0;j<len/2;j++)
printf(" ");
printf("%c\n",str[len-1-i]);
}
}
if(k==3||k==-5)
{
for(int i=0;i<len;i++)
{
for(int j=0;j<i;j++)
printf(" ");
printf("%c\n",str[len-1-i]);
}
}
if(k==4||k==-4)
{
for(int i=len-1;i>=0;i--)
printf("%c",str[i]);
printf("\n");
}
if(k==5||k==-3)
{
for(int i=0;i<len;i++)
{
for(int j=0;j<len-1-i;j++)
printf(" ");
printf("%c\n",str[i]);
}
}
if(k==6||k==-2)
{
for(int i=0;i<len;i++)
{
for(int j=0;j<len/2;j++)
printf(" ");
printf("%c\n",str[i]);
}
}
if(k==7||k==-1)
{
for(int i=0;i<len;i++)
{
for(int j=0;j<i;j++)
printf(" ");
printf("%c\n",str[i]);
}
}
}
return 0;
}