(程序功能:从键盘上输入整数n,按示例格式输出一个由数字组成的三角形图案。)
#include <stdio.h>
int main(void)
{
int i,j,n;
scanf("%d",&n);
for(i=1;i<=n;i++){
for(j=1;j<=n-i;j++)
printf(" ");
for(j=1;j<=i;j++)
printf("%d",j);
for(j=i-1;j>0;j--)
printf("%d",j);
printf("\n");
}
return 0;
}
如果能顺便总结一下打印图形题的规律就更好了~!会追加的哦~!O(∩_∩)O~
谢谢,为什么j<=i不是涵盖到j<=n-1中的呢?
比如n=4,j<=1不是和j<=3重了吗?
为什么就直接在空格之后打了??
for(j=1; j0; j--)
printf("%d", j);
上面三个循环是,第一个运行完后,再运行第二个,然后第三个。
嗷。。貌似明白了一点点~!O(∩_∩)O~
谢谢,我再仔细想想~!O(∩_∩)O~
有什么问题可以追问
谢谢~!好用心,虽然乱乱的但是理解了~!O(∩_∩)O~
能仔细说说第三个循环码?就是这样的东西看着能明白,自己做就没头绪。。╮(╯▽╰)╭
就是实现数字递减的问题嘛!,
j=i-1:中间的数字是最大,第二个for结构已经实现了从1到max(也就是i),那么第三个for在输出的时
候就显然不能从max(也就是i)开始了,也就是j=i-1的由来.
j>0: 是控制条件的截至.
j--: 控制递减
在完成类似的输出问题时,往往是拆成若干个更小更以实现的小问题,不要想一下子输入你想要的图形或者是答案。编程:“复杂是一些最简单的问题堆积”
谢谢啦~!可惜分已经加给第一个回答的人了,o(╯□╰)o。但是还是再次谢谢~!O(∩_∩)O~
追答没事,都是帮人解决问题嘛,嘻嘻O(∩_∩)O