c++【题目描述】 输入一个字符,输出由该字符组成 的“字符三角形”,三角形一共5行,第1 行1个字符,第2行2个字符…..依次类推, 同行的字符之间用一个空格隔开。 (要求将生成三角形的过程定义成函数) 【输入样例】 ? 【输出样例】 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
时间: 2024-03-23 21:37:22 浏览: 13
好的,以下是实现这个功能的 C++ 代码:
```c++
#include <iostream>
using namespace std;
void char_triangle(char ch) {
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= i; j++) {
cout << ch << " ";
}
cout << endl;
}
}
int main() {
char ch;
cout << "请输入一个字符:";
cin >> ch;
char_triangle(ch);
return 0;
}
```
运行代码后,会提示您输入一个字符,比如输入 `*`,则会输出以下字符三角形:
```
*
* *
* * *
* * * *
* * * * *
```
相关问题
c++题目描述 给定一个字符,用它构造一个底边长 5 5 个字符,高 3 3 个字符的等腰字符三角形。 输入格式 输入只有一行, 包含一个字符。 输出格式 该字符构成的等腰三角形,底边长 5 5 个字符,高 3 3 个字符。
好的,你的问题是关于字符构成等腰三角形的问题。我可以提供一个解决方案:
首先,输入一个字符。
然后,循环输出三角形的每一行。每行的长度都是奇数,且中心点对应输入的字符。根据行数和底边长度可以计算出每一行开头和结尾的空格数量。
具体实现代码如下:
```
#include <stdio.h>
int main()
{
char ch;
scanf("%c", &ch);
for(int i=0; i<3; i++)
{
// 计算每一行开头的空格数量
int space = 2 - i;
while(space--)
printf(" ");
// 计算每一行中间的字符数量
int count = (i+1) * 2 - 1;
while(count--)
printf("%c", ch);
// 输出完一行后换行
printf("\n");
}
// 输出底边
printf("%c%c%c%c%c\n", ch, ch, ch, ch, ch);
return 0;
}
```
打印给定字符组成的直角三角形_SHOU2021 分数 5 全屏浏览题目 切换布局 作者 shou 单位 上海海洋大学 输出n行由给定字符构成的直角三角形字符阵列。格式见输出样例。 输入格式: 在一行中输入一个正整数n(1≤n<20),和要打印出的字符 输出格式: 输出n行由给定字符构成的直角三角形字符阵列。格式见输出样例。C++
以下是打印给定字符组成的直角三角形的C++代码实现:
```cpp
#include <iostream>
using namespace std;
int main() {
int n;
char ch;
cin >> n >> ch;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n - i; j++) {
cout << " ";
}
for (int j = 1; j <= i; j++) {
cout << ch;
}
cout << endl;
}
return 0;
}
```
输入格式为:第一行为一个正整数n,表示要输出的直角三角形的行数。第二行为一个字符,表示要输出的字符。
输出格式为:n行,由给定字符构成的直角三角形字符阵列,格式如下:
```
(1个空格) *
(2个空格) **
(3个空格) ***
```
例如,输入:
```
3 *
```
输出:
```
*
**
***
```
解释:输出3行由“*”构成的直角三角形字符阵列,第1行左侧有2个空格,第2行左侧有1个空格,第3行左侧没有空格。