c - 移动钻石的下半部分

标签 c split

我有一个用 C 语言打印出 15 行水平分成两半的菱形的代码,我想做的是,将下半部分平移几个空格,使其与上半部分不均匀。我该怎么做呢?

#define TR 15

int main () {

    int row, col, numstars = 1, rate = 1, half;

    for(row = 1; row <= TR; row++)
    {
        half = TR / 2;

        for(col = 0; col < half + 1 - numstars; col++)
        {
            printf(" ");   
        }

        for(col = 1; col <= 2 * numstars - 1; col++)
        {
            printf("*");
        }

        if(numstars == half + 1)
        {
            printf("\n");
            rate = -rate;
        }

        numstars = numstars + rate;
        printf("\n");
    }
    return 0;
} 

最佳答案

空间循环(第一个循环)添加一个初始化为零的偏移变量,然后当您反转速率时,将偏移量增加到您想要的空格数转变

类似这样的:http://codepad.org/i6d99lc7

关于c - 移动钻石的下半部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26028919/

相关文章:

c - 当我在C中声明一个结构的指针时,内存是如何分配的

c - 如何将堆栈对齐到 SRAM 的末尾?

c - 如何在 Linux 和 Mac OSx 中获得更高级的网络接口(interface)卡类型

java - 处理java找不到符号错误

java - 如何使用两个分隔符拆分一个字符串,其中一个分隔符是双制表符?

c - 链表只抓取文件内容的最后输入

c++ - Xcode 和 C/C++ 项目

java - 分割和乘以 double 会给我错误的值

swift - 为什么用重音符号分割字符串会崩溃?

javascript - 如何分割±3%? ±3%