用C++编写函数 void printTriangle(int n)用于输出图形,要求在主函数中输入任意值n算法1:表示行数,其值为1~n。对于第i行,首先输出i-1个空格,连**然后输出n一i+1个*,最后输出换行。作为行printTriangle()完成输出。调用函数printTriangle()完成输出。算法提示如下,要求两个算法都要实现。
时间: 2023-05-31 21:03:47 浏览: 79
算法1:
void printTriangle(int n){
for(int i=1;i<=n;i++){
for(int j=1;j<=i-1;j++){
printf(" ");
}
for(int k=1;k<=n-i+1;k++){
printf("*");
}
printf("\n");
}
}
int main(){
int n;
printf("请输入n的值:");
scanf("%d",&n);
printTriangle(n);
return 0;
}
算法2:
void printTriangle(int n){
for(int i=n;i>=1;i--){
for(int j=1;j<=i-1;j++){
printf(" ");
}
for(int k=1;k<=n-i+1;k++){
printf("*");
}
printf("\n");
}
}
int main(){
int n;
printf("请输入n的值:");
scanf("%d",&n);
printTriangle(n);
return 0;
}
相关问题
编写函数void printTriangle(int n), 输出如下 图的n行的三角形
好的,我明白了。下面是实现该函数的代码:
```c
void printTriangle(int n) {
int i, j;
for (i = 1; i <= n; i++) {
for (j = 1; j <= n - i; j++) {
printf(" ");
}
for (j = 1; j <= 2 * i - 1; j++) {
printf("*");
}
printf("\n");
}
}
```
该函数会输出如下图形的n行等腰三角形:
```
*
***
*****
*******
*********
```
调用该函数时,将n传入即可打印出相应行数的等腰三角形。
、编写函数 void printTriangle(int n),输出如下图的n行的三角形 * ** *** **** *****
`printTriangle` 函数的目的是在控制台上打印一个给定行数 `n` 的金字塔形状,每一行用星号(*)表示。这里是一个简单的 C++ 代码实现:
```cpp
#include <iostream>
void printTriangle(int n) {
for (int i = 1; i <= n; ++i) {
// 打印空格
for (int j = n - i; j > 0; --j)
std::cout << " ";
// 打印星号
for (int k = 1; k <= 2 * i - 1; ++k)
std::cout << "*";
// 换行
std::cout << std::endl;
}
}
int main() {
int n = 5; // 可以修改为用户输入
printTriangle(n);
return 0;
}
```
在这个代码中,外层循环控制行数,内层两个循环分别用于打印左侧的空格和右侧的星号。第一层循环结束后换行,以便打印出下一行。
相关问题--
1. 在这个函数中,如何控制每一行的星号数量?
2. 如果想让金字塔向内收缩,而不是向外扩张,应该如何修改代码?
3. 这个函数能否用于打印其他形状?如果可以,举个例子。