c - 如何创建具有重复功能的向上三角形
问题描述
我正在尝试创建一个向上三角形函数,该函数利用我已经完成的一个函数,该函数获取一个字符并按你想要的次数打印它。
我想先澄清一下,这是家庭作业。我遇到了一些墙壁,只需要一点指导。
向上三角形示例:
*
**
***
****
我知道如何在没有其他函数的情况下创建向上三角形函数:
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()
and 是该范围内命名的变量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);
}
}
推荐阅读
- android - 在其他活动中访问底部导航的属性
- angular - 使用 cellRendererFramework 的 ag-grid 渲染组件抛出错误
- angular6 - 如何在表单中为 FormArray 编写单元测试
- javascript - 防止在 ctrl+click for location.href 时打开新选项卡
- reactjs - 未处理的拒绝(TypeError):无法构造“AudioWorkletNode”[ReactJS]
- php - 按帖子而不是日期将图像保存在文件夹中
- excel - 完成组合框 VBA 时出现不匹配错误
- python - 由于 heroku 上的 utf-8 验证错误,无法注册新用户
- sql - 将表信息从一台服务器移动到另一台服务器的过程不起作用 SQL
- html - 如何在表格顶部设置表格标题?