zoukankan      html  css  js  c++  java
  • HDU2137:circumgyrate the string

    Problem Description
      Give you a string, just circumgyrate. The number N means you just   circumgyrate the string N times, and each time you circumgyrate the string for 45 degree anticlockwise.
     
    Input
      In each case there is string and a integer N. And the length of the string is always odd, so the center of the string will not be changed, and the string is always horizontal at the beginning. The length of the string will not exceed 80, so we can see the complete result on the screen.
     
    Output
      For each case, print the circumgrated string.
     
    Sample Input
    asdfass 7
     
    Sample Output
    a s d f a s s
     


     

    水题

    就是把一个字符串转来转去

    #include <stdio.h>
    #include <string.h>
    
    int main()
    {
        char str[100];
        int len,i,n,j;
        while(~scanf("%s%d",str,&n))
        {
            if(n>=8)
            {
                n = n%8;
            }
            else if(n<0)
            {
                n = n%8;
                n = n+8;
                n = n%8;
            }
            len = strlen(str);
            if(n == 0)
                puts(str);
            else if(n == 1)
            {
                for(i = len-1; i>=0; i--)
                {
                    for(j = 0; j<len; j++)
                    {
                        if(j == i)
                        {
                            printf("%c\n",str[j]);
                            break;
                        }
                        else
                            printf(" ");
                    }
                }
            }
            else if(n == 2)
            {
                for(i = len-1; i>=0; i--)
                {
                    for(j = 0; j<=len/2; j++)
                    {
                        if(j == len/2)
                        {
                            printf("%c\n",str[i]);
                            break;
                        }
                        else
                            printf(" ");
                    }
                }
            }
            else if(n == 3)
            {
                for(i = 0; i<len; i++)
                {
                    for(j = 0; j<len; j++)
                    {
                        if(j == i)
                        {
                            printf("%c\n",str[len-1-i]);
                            break;
                        }
                        else
                            printf(" ");
                    }
                }
            }
            else if(n == 4)
            {
                for(i = len-1; i>=0; i--)
                {
                    putchar(str[i]);
                }
                printf("\n");
            }
            else if(n == 5)
            {
                for(i = 0; i<len; i++)
                {
                    for(j = len-1; j>=0; j--)
                    {
                        if(j == i)
                        {
                            printf("%c\n",str[i]);
                            break;
                        }
                        else
                            printf(" ");
                    }
                }
            }
            else if(n == 6)
            {
                for(i = 0; i<len; i++)
                {
                    for(j = 0; j<=len/2; j++)
                    {
                        if(j == len/2)
                        {
                            printf("%c\n",str[i]);
                            break;
                        }
                        else
                            printf(" ");
                    }
                }
            }
             else if(n == 7)
            {
                for(i = 0; i<len; i++)
                {
                    for(j = 0; j<len; j++)
                    {
                        if(j == i)
                        {
                            printf("%c\n",str[i]);
                            break;
                        }
                        else
                            printf(" ");
                    }
                }
            }
        }
        return 0;
    }
    


     

  • 相关阅读:
    双端队列广搜
    多源bfs
    leetcode刷题-67二进制求和
    leetcode刷题-66加一
    leetcode刷题-64最小路径和
    leetcode刷题-62不同路径2
    leetcode刷题-62不同路径
    leetcode刷题-61旋转链表
    leetcode刷题-60第k个队列
    leetcode刷题-59螺旋矩阵2
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3014187.html
Copyright © 2011-2022 走看看