题目:
输出n行数字金字塔。
要求
1、使用下面的函数
void pyramid(int n); //说明:n是用户传入的参数。
2、每个数字后面跟一个空格 3、最后一行的第一个数字前无空格
输入输出样例
----------------------------------------------------------------分割线-----------------------------------------------------------------------------
解题:
解题思路:
(1)可以将这个图形分成两个部分,黑色三角形部分由空格组成,橙色三角形部分数字和空格组成,如下图。
(2)先将由空格组成的黑色三角形输出 (3)再将橙色三角形部分输出
代码如下
#include <stdio.h>
void pyramid( int n );
int main()
{
int n;
scanf("%d", &n);
pyramid(n);
return 0;
}
void pyramid(int n){
int i,j;
int count=1;
for(i = 1; i<=n; i++){
count++;
for(j = n-1-i; j>=0; j--){
printf(" ");
}
for(j = 1; j<=i; j++){
printf("%d ",i);
}
if(count<=n)
printf("\n");
}
}
解题过程遇到的问题及解决措施
- 始找不到输出前面空格的方法,当把那副图随意涂涂改改后,意外发现它居然可以被分成两个三角形部分,我真是太机智了,φ(>ω<*),哈哈哈。
-------------------------------------------------------这也是条分界线---------------------------------------------------------------------------
我今天的感悟:
得到别人的认可真的对我很重要,无论是陌生人还是熟人,他们所带来的一个赞,一条评论,就像是给我写文章付的工钱一样,哈哈哈,就像今天我的某篇文章被夸赞收藏,令我高兴兴奋了很久一样,愿我们我们都能努力向前,坚持所想坚持的事情,能够被别人所认可,这也就值得了。
|