字符金字塔

字符金字塔

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;
}

总结:

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

全部评论
#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
#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
编写的太复杂了,flag没必要,count等变量都没有必要声明这么多
点赞 回复 分享
发布于 2022-01-27 21:48

相关推荐

每晚夜里独自颤抖:要求太多的没必要理
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-03 18:22
投了几百份简历,专业和方向完全对口,都已读不回。尝试改了一下学校,果然有奇效。
steelhead:这不是很正常嘛,BOSS好的是即便是你学院本可能都会和聊几句,牛客上学院本机会很少了
点赞 评论 收藏
分享
评论
8
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务