现在的位置: 首页 > 综合 > 正文

hdu 2137 circumgyrate the string

2019年01月01日 ⁄ 综合 ⁄ 共 784字 ⁄ 字号 评论关闭

字符串旋转,有负数,

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;
}

    

抱歉!评论已关闭.