希望采纳一下
#include <stdio.h>
int main() {
int layers;
printf("请输入层数:");
scanf("%d", &layers);
for (int i = 1; i <= layers; i++) {
// 打印空格,数量为layers - i
for (int j = 1; j <= layers - i; j++) {
printf(" ");
}
// 打印*
for (int k = 1; k <= i*2 - 1; k++) {
printf("*");
}
printf("\n");
}
}
供参考:
//(1)
#include<stdio.h>
int main()
{
int i, j, n;
scanf("%d", &n);
for (i = 0; i < n; i++)
{
for (j = i; j < n - 1; j++)
printf(" ");
for (j = 0; j < 2 * i + 1; j++)
printf("*");
printf("\n");
}
return 0;
}
//(2)
#include<stdio.h>
int main()
{
int i, j, n;
scanf("%d", &n);
for (i = 0; i < n; i++)
{
for (j = i; j < n - 1; j++)
printf(" ");
for (j = 0; j < 2 * i + 1; j++)
printf("*");
printf("\n");
}
for (i = n - 2; i >= 0; i--)
{
for (j = i; j < n - 1; j++)
printf(" ");
for (j = 0; j < 2 * i + 1; j++)
printf("*");
printf("\n");
}
return 0;
}
//(3)
#include <stdio.h>
#define N 10
int main()
{
int i, j, k, n, a[N][N];
scanf("%d", &n);
for (i = 0; i < n; i++){
a[i][i] = 1;
a[i][0] = 1;
}
for (i = 2; i < n; i++)
for (j = 1; j <= i - 1; j++)
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
for (i = n - 1; i >= 0; i--)
{
for (k = 0; k < n - i - 1; k++)
printf("%c", ' '); //输出空格
for (j = i; j >= 0; j--)
printf("%2d", a[i][j]);
printf("\n");
}
}
注:本文以一个例子来演示广义表的基本操作,含有一个头文件《GList.h》和一个测试源文件《main.cpp》
你是要把题目弄复杂,还是在题目不变的情况下,把代码写得复杂?说清楚