字符金字塔

字符金字塔

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

分析:

与金字塔形状图案题目类似,参考链接https://blog.nowcoder.net/n/86a42f259a0f44d6836d173a05e65141
有所不同的是,本题的行数是固定的为5行,同时组成金字塔的字符是输入得到的,故需要对齐进行对应修改。

题解:

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n = 0;
    char val = 0;
    //读入字符
    scanf("%c", &val);
    int space = 4;
    n = 5;
    //外循环遍历每一行
    for(int i = 1; i <= n; ++i) {
        //输出前导的空格
        for(int j = 0; j < space; ++j)
            printf(" ");
        int count = i+i-1;
        bool flag = true;
        //循环count遍,每一个空格输出一个字符,交替输出
        for(int k = 0; k < count; ++k){
            if(flag) {
                printf("%c", val);
                //最后一个是空格
                if(k == count-1)
                    printf(" ");
            }
            else
                printf(" ");
            //更新标志
            flag = !flag;
        }
        printf("\n");
        space--;
    }
    return 0;
}

总结:

金字塔图案类似题目,举一反三即可。

全部评论
编写的太复杂了,flag没必要,count等变量都没有必要声明这么多
点赞 回复 分享
发布于 2022-01-27 21:48
#include<stdio.h> #define LENGTH 5 void draw(char n); int main(void) { char n; scanf("%c", &n); draw(n); return 0; } void draw(char n){ // 外层循环控制三角形的层数,这里定义三角形的层数为5层,符号常量,方便修改 for(int i = 0; i < LENGTH; i++){ for(int k = 0; k < LENGTH - 1 - i; k++) printf(" "); // 打印字符三角形前面的空格,第一行4,第二行3,...,末行0 for(int j=0; j <= i; j++){ printf("%c", n); // 循环打印字符三角形每行的字符 // 循环打印字符与字符之间的空格,如果是最后一个字符则后面不打印空格了 if(j != i) printf(" "); } printf("\n"); // 每完成一行的打印,换行 } }</stdio.h>
点赞 回复 分享
发布于 2022-01-27 21:48
#include<stdio.h> #define LENGTH 5 void draw(char n); int main(void) { char n; scanf("%c", &n); draw(n); return 0; } void draw(char n){ // 外层循环控制三角形的层数,这里定义三角形的层数为5层,符号常量,方便修改 for(int i = 0; i < LENGTH; i++){ for(int k = 0; k < LENGTH - 1 - i; k++) printf(" "); // 打印字符三角形前面的空格,第一行4,第二行3,...,末行0 for(int j=0; j <= i; j++){ printf("%c", n); // 循环打印字符三角形每行的字符 // 循环打印字符与字符之间的空格,如果是最后一个字符则后面不打印空格了 if(j != i) printf(" "); } printf("\n"); // 每完成一行的打印,换行 } }</stdio.h>
点赞 回复 分享
发布于 2022-01-29 16:12

相关推荐

11-27 12:36
已编辑
门头沟学院 前端工程师
Apries:这个阶段来说,很厉害很厉害了,不过写的简历确实不是很行,优势删掉吧,其他的还行
点赞 评论 收藏
分享
10-21 23:48
蚌埠坦克学院
csgq:可能没hc了 昨天一面完秒挂
点赞 评论 收藏
分享
评论
8
1
分享
牛客网
牛客企业服务