第八周 oj 2001 打印数字图形

博客内容讲述了作者在解决oj 2001题目时遇到的问题与解决过程,通过复习循环结构,最终独立理解并完成代码。作者分享了与老师的交流经验,以及自己在编程理解上的提升,展示了找到个人解决方案后的成就感。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题及代码:

/*Copyright(c)2016,烟台大学计算机学院
all rights reserved.
作者:曹欣宇
完成日期:2016年10月22日
版本号:v1.0

题目描述
  输入一个正整数,打印数字图形
输入
  正整数
输出
  数字图形
样例输入
  5
样例输出
  如图*/
#include<stdio.h>
int main()
{
	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");
	}
    for(i=n-1;i>0;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;
 }

运行结果:

知识点总结:

通过学习,进一步掌握了循环结构

学习心得:其实这个代码是老师上课讲的,然而我在重新看时,却发现有的地方看不懂,于是去询问贺老师,然后老师让我再继续修炼......终于最后我找到了自己的思路,并且感觉像是对这个题有了进一层的理解,以下是适合我的思路的代码,虽然只是略有修改,但还是蛮有成就感的

#include<stdio.h>
int main()
{
	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");
	}
    for(i=1;i<=n;i++)
	{
		for(j=1;j<=i;j++)
	      {
	 	    printf(" ");
	       }
	   for(j=1;j<=n-i;j++)
	     {
		    printf("%d",j);
		  }
	   for(j=n-i-1;j>0;j--)
	     {
	     	printf("%d",j);
	      }
	   printf("\n");
	}
	return 0;
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值