我正在尝试创建一个向上的三角函数,该函数利用我已经完成的函数,该函数需要一个字符并打印多次,但要多次进行。
我想提前弄清楚,这是一项家庭作业。我碰壁了,只需要一点指导。
向上三角形示例:
*
**
***
****
我知道如何创建没有其他函数的向上三角函数:
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
将变量star
和rept(uptri, star);
传递给变量rept
之前,看不到它们。一旦发生这种情况,alot
将使用这些变量并将其值分配给其自己范围内的变量:sym
和。
码
void utri( int tricount )
{
int uptri, x;
char star;
star = '*';
for ( uptri = 1; uptri <= tricount; uptri++ )
{
rept(uptri, star);
}
}