您的位置:首页 > 其它

第八周OJ项目-打印数字图形

2016-10-24 13:38 218 查看
问题及代码:

题目描述

从键盘输入一个整数n(1≤n≤9),打印出指定的数字图形。

输入

正整数n(1≤n≤9)。

输出

指定数字图形。

样例输入

5

样例输出

1
121
12321
1234321
123454321
1234321
12321
121
1
我的代码:
#include <stdio.h>#include <stdlib.h>int main(){int n,i,j;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");}for (i=n-1;i>0;i--);{for(j=1;j<=n;j++)printf(" ");for(j=1;j<=i;j++)printf("%d",j);for(j=i-1;j>0;i--)printf("%d",j);printf("\n");}return 0;}
老师的:
#include <stdio.h>int main( ){int i,j,n;scanf("%d",&n);for (i=1; i<=n; i++)/*打印图形上半部,即前n行*/{for(j=1;j<=n-i;j++)//先打印n-i个空格printf(" ");for(j=1;j<=i;j++)//再打印从1到iprintf("%d",j);for(j=i-1;j>0;j--)//最后打印i-1递减到1printf("%d",j);printf("\n");//一行打印完要换行}for (i=n-1; i>0; i--)/*打印图形下半部,i由n-1递减到1即可*/{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;}
</pre><pre class="csharp" name="code">
打印效果:
</pre><pre class="csharp" name="code"><img alt="" src="http://img.blog.csdn.net/20161024133323421" />
</pre><pre class="csharp" name="code">
</pre><pre class="csharp" name="code">
</pre><pre class="csharp" name="code">总结:我的代码最后一步把j错写成i,但是出现了同样的打印结果,原因不详。
求解答~~
</pre><pre class="csharp" name="code">

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: