题解 | #字符金字塔#

字符金字塔

http://www.nowcoder.com/practice/0fae60c3b5c64699b7c0f031c2187dde

#include<stdio.h>
int main(){
    char a='1';
    int n=5,n1=1;
    scanf("%c %d",&a,&n);
while(n--){
    int an=1+(n1-1)*2;//这里必须放在循环内,以免其成为常量
    int i=0;
    for(i=n;i>0;i--){//是n不是n-1,因为n--已经将n-1了
        printf(" ");
    }
    int j=0,k=-1;
    for(j=1;j<=k+2;j++){
        if(j%2==1){
            printf("%c",a);
        }
        else{
            printf(" ");
        }
        if(j==k+2&&j<an){//当j++到k+2时,这时候的需要++,这时候是一次循环的结束,也是另一次的开始
            k+=2;
        }
    }
    n1++;
    printf("\n");
}
    return 0;
}

以上是通用方法,接下来的是普通的方法:

int main(){
    char a=0;
    scanf("%c",&a);
    printf("    %c\n   %c %c\n  %c %c %c\n %c %c %c %c\n%c %c %c %c %c",a,a,a,a,a,a,a,a,a,a,a,a,a,a,a);
    return 0;
}
全部评论

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务