#include
#include
/**
本题要求实现函数输出n行数字金字塔。
*/
void pyramid( int n );
int main()
{
int n;
scanf("%d", &n);
pyramid(n);
return 0;
}
void pyramid( int n ){
int i,j,k;
for(i=1;i<=n;i++){
for( j=1;j<=n-i;j++){
printf(" ");
}
for(k=1;k<=i;k++){
printf("%d",i);
printf(" ");
}
printf("\n");
}
}
本题要求实现函数输出n行数字金字塔。
void pyramid( int n );
其中n
是用户传入的参数,为[1, 9]的正整数。要求函数按照如样例所示的格式打印出n
行数字金字塔。注
意每个数字后面跟一个空格。
#include
void pyramid( int n );
int main()
{
int n;
scanf("%d", &n);
pyramid(n);
return 0;
}
/* 你的代码将被嵌在这里 */
5
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
解题思路:
首先观察 金字塔
n 决定 有几行 例如 5 就是有五层
1.最先想到的是 循环这5层 从第一层到第五层 1 2 3 4 5
2.考虑每一层的两个点: ①每一层一开始空得格是几个 例如 第一层前面空了4个空格 第二层空了三个空格 (n-第几层);
②每一层输出几 :第一层输出 1 第二层输出 2 第三层都是输出3 所以也就是 输出第1步中的第几层
3.最后一步:考虑形状 :每层输出完 就换行 也就是在循环的最后进行 printf("\n");
注意点:
在c 语言中循环体中 for(){}的循环条件中 的变量 需要现在外面声明之后 才可以在 for()中使用 :
int i;
for(i=1;i