• hdu 2137


    地址:http://acm.hdu.edu.cn/showproblem.php?pid=2137

    题意:把一个字符串(奇数个字符)按中间字符为轴逆时针旋转n次后,输出。

    mark:2WA,n居然可以为负。。。

    代码:

    # include <stdio.h>
    # include <string.h>


    void out0(char str[], int len){puts (str) ;}
    void out1(char str[], int len)
    {
    int i, j ;
    for (i = len-1 ; i >=0 ; i--)
    {
    for (j = 0 ; j < i ; j++) putchar (' ') ;
    printf ("%c\n", str[i]) ;
    }
    }
    void out2(char str[], int len)
    {
    int i, j ;
    for(i=len-1;i>=0;i--)
    {
    for (j = 0 ; j < len/2 ; j++) putchar (' ') ;
    printf ("%c\n", str[i]) ;
    }
    }
    void out3(char str[], int len)
    {
    int i, j ;
    for(i = len-1 ; i >= 0 ; i--)
    {
    for (j = 0 ; j < len-1-i ; j++) putchar (' ') ;
    printf ("%c\n", str[i]) ;
    }
    }
    void out4(char str[], int len)
    {
    int i ;
    for (i = len-1 ; i >= 0 ; i--) putchar (str[i]) ;
    putchar ('\n') ;
    }
    void out5(char str[], int len)
    {
    int i, j ;
    for (i = 0 ; i < len ; i++)
    {
    for (j = 0 ; j < len-i-1 ; j++) putchar (' ') ;
    printf ("%c\n", str[i]) ;
    }
    }
    void out6(char str[], int len)
    {
    int i, j ;
    for(i=0;i<len ;i++)
    {
    for (j = 0 ; j < len/2 ; j++) putchar (' ') ;
    printf ("%c\n", str[i]) ;
    }
    }
    void out7(char str[], int len)
    {
    int i, j ;
    for(i = 0 ; i < len ; i++)
    {
    for(j = 0 ; j < i ; j++) putchar (' ') ;
    printf("%c\n", str[i]) ;
    }
    }


    int main ()
    {
    int k ;
    char str[100] ;
    while (~scanf ("%s %d%*c", str, &k))
    {
    if (k < 0) k = (-k)%8, k = 8-k ;
    switch (k%8){
    case 0: out0(str, strlen(str)) ; break ;
    case 1: out1(str, strlen(str)) ; break ;
    case 2: out2(str, strlen(str)) ; break ;
    case 3: out3(str, strlen(str)) ; break ;
    case 4: out4(str, strlen(str)) ; break ;
    case 5: out5(str, strlen(str)) ; break ;
    case 6: out6(str, strlen(str)) ; break ;
    case 7: out7(str, strlen(str)) ; break ;
    }
    }
    return 0 ;
    }



  • 相关阅读:
    LeetCode No961. 在长度 2N 的数组中找出重复 N 次的元素
    LeetCode No468. 验证IP地址
    LeetCode No56. 合并区间
    LeetCode No50. Pow(x, n)
    LeetCode No1021. 删除最外层的括号
    LeetCode No53. 最大子数组和
    LeetCode No52. N皇后 II
    LeetCode No57. 插入区间
    LeetCode No965. 单值二叉树
    LeetCode No48. 旋转图像
  • 原文地址:https://www.cnblogs.com/lzsz1212/p/2335599.html
Copyright © 2020-2023  润新知