hdu2137

这道题差点让我崩溃啊

1.我没有考虑n为负数 的情况

2.我没有考虑他的格式,当他是斜着的时候,第一个字母前面是没有空格的,当他平行于y轴的时候是在他们的中间字母之下的,而不是在第一个字母之下。

3.格式,格式,格式,很让我崩溃

#include<stdio.h>//不要忘记n为负数的情况
#include<string.h>
int main(){
int n,s,i,j,len;
char f[80];
while(scanf("%s %d",f,&n)!=EOF){
    getchar();
    len=strlen(f);
s=n%8;
if(s==0) printf("%s\n",f);
if(s==1||s==-7){
for(j=len-1;j>=0;j--){
for(i=j;i>0;i--){
putchar(' ');}
printf("%c\n",f[j]);
}
}
if(s==2||s==-6){
for(i=len-1;i>=0;i--){
    for(j=0;j<len/2;j++){
putchar(' ');}
printf("%c\n",f[i]);}}

if(s==3||s==-5){
    for(i=len-1;i>=0;i--){
    for(j=1;j<=len-1-i;j++){
    putchar(' ');}
    printf("%c\n",f[i]);
    }
}

if(s==4||s==-4){
for(i=len-1;i>=0;i--){
printf("%c",f[i]);}
printf("\n");
}

if(s==5||s==-3){
    for(i=0;i<len;i++){
    for(j=len-1-i;j>0;j--){
        putchar(' ');
    }
    printf("%c\n",f[i]);
    }
}

if(s==6||s==-2){
for(i=0;i<len;i++){
    for(j=0;j<len/2;j++){
        putchar(' ');
}
printf("%c\n",f[i]);}}

if(s==7||s==-1) {
for(i=0;i<len;i++){
for(j=1;j<=i;j++){
putchar(' ');
}
printf("%c\n",f[i]);
}
}


}
return 0;
}


猜你喜欢

转载自blog.csdn.net/xdyzengqian/article/details/80038623