请问怎么写这个代码呀
在控制台显示“输入行数”,“输入花纹”,然后打印出相应的菱形
#include <iostream>
#include <stdio.h>
using namespace std; //命名空间
char c;
void PrintRhombus(int N) {
int i, j;
//上半部分
for (i = 0; i < N; i++) {
for (j = 0; j < N - 1 - i; j++) {
cout << " ";
}
for (j = 0; j < 2 * i +1; j++) {
cout << c;
}
cout << "\n";
}
//下半部分
for (i = 0; i < N-1 ; i++) {
for (j = 0; j <=i; j++) {
cout << " ";
}
for (j = 0; j<2*(N-i-1)-1; j++) {
cout << c;
}
cout << "\n";
}
}
int main()
{
int x;
printf("输入行数");
scanf("%d",&x);
printf("输入花纹\n");
getchar();
scanf("%c",&c);
PrintRhombus(x);
return 0;
}
具体什么要求?
(1)空心菱形
//空心菱形
#include <iostream>
using namespace std;
int main()
{
int n, i, j;
cin >> n; //输入n
//上半部分
for (i = 1; i <= n; i++)
{
for (j = 1; j < 2 * n; j++)
{
if (j == n + 1 - i || j == n - 1 + i)
cout << "*";
else
cout << " ";
}
cout << endl;
}
//下半部分
for (i = 1; i <= n - 1; i++)
{
for (j = 1; j < 2 * n; j++)
{
if (j == i + 1 || j == 2 * n - 1 - i)
cout << "*";
else
cout << " ";
}
cout << endl;
}
return 0;
}
(2)实心菱形
#include <iostream>
using namespace std;
int main()
{
int i, j, n; //n代表上三角行数
cin >> n;
//先输出上三角
for (i = 1; i <= n; ++i) //输出n行
{
//输出第i行
for (j = 1; j <= n - i; ++j) //输出n-i个空格
cout << " ";
for (j = 1; j <= 2 * i - 1; ++j) //输出2*i-1个星号
cout << "*";
cout << endl;
}
//下面输出下三角
for (i = 1; i <= n - 1; ++i) //输出n-1行
{
//输出第i行
for (j = 1; j <= i; ++j) //输出i个空格
cout << " ";
for (j = 1; j <= 2 * (n - i) - 1; ++j) //输出2*i-1个星号
cout << "*";
cout << endl;
}
return 0;
}