我正在尝试创建一个向上的三角函数,该函数利用我已经完成的函数,该函数需要一个字符并打印多次,但要多次进行。

我想提前弄清楚,这是一项家庭作业。我碰壁了,只需要一点指导。

向上三角形示例:

*
**
***
****


我知道如何创建没有其他函数的向上三角函数:

void utri( int tricount )
{
    int uptri, x;
    char star;
    star = '*';
    for ( uptri = 1; uptri <= tricount; uptri++ )
    {
        for ( x = 0; x < uptri; x++ )
        {
                printf ("%c", star);
        }
        printf("\n");
    }
}


但我很难提出一种合理的方法来做到这一点。我试图创建一个向上的三角形,将利用下面的重复功能。

这是我要用来创建我的向上三角函数的重复函数:

void rept( int alot, char sym )
{
    int z;

    for ( z = 0; z < alot; z++ )
        printf("%c", sym);

    printf("\n");
}


测试输出时,这是我要使用的调用:

utri(4);

最佳答案

您所要做的就是用必须使用的新函数替换内部的for循环,然后将相应的变量正确地放入函数调用中,从而将正确的变量传递给该函数,例如:rept(uptri, star);

uptri传递给rept(),并且是该范围内名为int alot的变量(循环运行的次数),而star是将在char中打印的字符rept(),并且在char sym范围内名为rept的变量。如果您不熟悉计算机编程,“范围”仅指可以在程序的哪个部分看到该变量。因此,rept在使用函数uptri将变量starrept(uptri, star);传递给变量rept之前,看不到它们。一旦发生这种情况,alot将使用这些变量并将其值分配给其自己范围内的变量:sym和。



void utri( int tricount )
{
    int uptri, x;
    char star;
    star = '*';
    for ( uptri = 1; uptri <= tricount; uptri++ )
    {
        rept(uptri, star);
    }
}

08-05 04:21