(C语言)Hello World for You Again

输入:

There are multiple test cases. Each case contains one string with no less than 5 and no more than 100 characters in a line. The string maybe contains one or more white spaces.

输出:

For each test case, print the input string in the shape of U as specified in the description.

例:

输入:

helloworld!
hello world

输出:

h   !
e   d
l   l
lowor
h   d
e   l
l   r
lo wo

解决代码如下:

# include <stdio.h>
# include <string.h>
void print_u(char *str);
int main(){
    char str[1000];
    while(gets(str)){
        if(strcmp(str, "") == 0) break;
        print_u(str);
    }
    return 0;
}
void print_u(char *str){
    char result[1000];
    int len = strlen(str), n1, n2;
    n1 =(len+ 2) /  3;
    n2=n1+(len + 2) % 3;
    char *i= str, *j= str + len - 1;
    for(int k=1; k < n1; k++){
        printf("%c", *i);
        for(int t = 0; t < n2 - 2; t++) printf(" ");
        printf("%c\n",  *j);
        i++;
        j--;
    }
    *(j + 1) ='\0' ;
    strcpy(result, i);
    puts(result);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值