c语言的程序的小问题
我有一点小问题想请教一下,希望各位可以帮忙解答一下,非常感谢。
有关于图案的小问题在排列时应怎样思考程序设计。
例:编程打印出一下数字金字塔图案。
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
帮忙解答一下。请说明一下为什么, 非常感谢!!!
[解决办法]
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num;
int i;
int j;
int k;
scanf("%d",&num);//输入几层
for(i = 1 ; i < num+1 ;i++)
for(j = i ; j < num+1 ;j++){
if(j == num ){
for(k = 1 ;k < i + 1 ;k++)
printf("%d",k);
for(k = i -1 ; k >= 1; k--)
printf("%d",k);
printf("\n");
}
//输出数字
else
printf(" ");//判断要输入几层 要输出几个空格在开头
}
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i, j;
int n = 5;
for (i = 1; i < n + 1; i++) { // 控制层数
for (j = 0; j < (n - i) * 2 ; j++) // 打印前导空格
printf(" ", j);
for (j = 1; j <= i; j++) // 打印每一层前半部分的数字
printf("%d ", j);
for (j = j - 2; j >= 1; j--) // 打印每一层后半部分的数字
printf("%d ", j);
printf("\n");
}
return 0;
}
输出结果:
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
1 2 3 4 5 4 3 2 1