用c++写一个实心菱形
时间: 2023-03-15 20:15:15 浏览: 100
可以这样写:#include <stdio.h>int main()
{
int i, j, k;
for (i = 0; i < 5; i++)
{
for (j = 0; j < 5 - i; j++)
{
printf(" ");
}
for (k = 0; k < 2 * i + 1; k++)
{
printf("*");
}
printf("\n");
} for (i = 4; i > 0; i--)
{
for (j = 0; j < 5 - i; j++)
{
printf(" ");
}
for (k = 0; k < 2 * i - 1; k++)
{
printf("*");
}
printf("\n");
}
return 0;
}
相关问题
用C++输出一个空心菱形。
以下是用C++输出一个空心菱形的代码:
```
#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入菱形的边长(必须为奇数):";
cin >> n;
if (n % 2 == 0) {
cout << "输入错误,边长必须为奇数!" << endl;
return 0;
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n - i; j++) {
cout << " ";
}
for (int j = 1; j <= 2 * i - 1; j++) {
if (j == 1 || j == 2 * i - 1) {
cout << "*";
} else {
cout << " ";
}
}
cout << endl;
}
for (int i = n - 1; i >= 1; i--) {
for (int j = 1; j <= n - i; j++) {
cout << " ";
}
for (int j = 1; j <= 2 * i - 1; j++) {
if (j == 1 || j == 2 * i - 1) {
cout << "*";
} else {
cout << " ";
}
}
cout << endl;
}
return 0;
}
```
该程序首先要求用户输入菱形的边长,然后判断边长是否为奇数。如果边长为偶数,则输出错误信息;否则,利用两个for循环输出菱形的上半部分和下半部分。在每一行中,首先输出一定数量的空格,然后输出一定数量的星号和空格,其中星号在每一行的开头和结尾处输出,其余位置输出空格。最后,程序输出一个换行符以换行。
c++打印n阶实心菱形
在 C++ 中,打印 n 阶实心菱形可以使用嵌套循环结构。这里是一个简单的示例,用于打印 5 阶的实心菱形:
```cpp
#include <iostream>
void printDiamond(int n) {
// 上半部分菱形
for (int i = 0; i <= n; ++i) {
// 打印空格
for (int spaces = n - i; spaces > 0; --spaces)
std::cout << " ";
// 打印星号
for (int stars = 2 * i - 1; stars >= 0; --stars)
std::cout << "*";
// 换行
std::cout << std::endl;
}
// 下半部分菱形(反转)
for (int i = n - 2; i >= 0; --i) {
// 打印空格
for (int spaces = n - i - 1; spaces > 0; --spaces)
std::cout << " ";
// 打印星号
for (int stars = 2 * i + 1; stars >= 0; --stars)
std::cout << "*";
// 换行
std::cout << std::endl;
}
}
int main() {
int n = 5; // 改变这个数值以打印不同大小的菱形
printDiamond(n);
return 0;
}
```