0

我想返回一个以 6 和 3 为基数的形状(梯形),给定整数 3 和 4 以及一个字符。

我已经尝试使用下面的代码来实现它,但我得到的是一个矩形

#include <stdio.h>

char my_array[];
char *ptr;
int m = 3,n =4;

int main(void)
{
int i,j;
ptr = &my_array[0];

for (j = 0;j < n ;++j)
    {
        for (i = 0; i < m+n-1; i++)
        {
            my_array[i] = '*';
            printf("%c ",my_array[i]);

        }
            printf("\n");
    }
return 0;

}

我想知道如何减少上面结果的每一行的长度以获得我需要的形状。有什么想法吗?

4

1 回答 1

0

您可能打算i < m + j - 1在第二个 for 循环中使用:

#include <stdio.h>
const int m = 3, n = 4;

int main(void){
    int i, j;
    const char symb = '*';

    for (j = 0; j < n ;++j){    
        for (i = 0; i < m + j - 1; i++)
            printf("%c ",symb);

        printf("\n");
    }
    return 0;
}
于 2013-10-26T11:54:04.607 回答