剥洋葱

布告,布告!
应老师要求,我们要做一道打印图形的题目,这是程序员最基本的能力。
那废话不多说,我们来说要求的图形
AAAAA
ABBBA
ABCBA
ABBBA
AAAAA
就是外到内,从A到Z。每一层都是一种字母,最里面的一层为一个,即最中心的一个。

输入格式:

一行,一个整数,即图形的层数

输出格式:

如上述图形

输入样例:

3

输出样例:

AAAAA
ABBBA
ABCBA
ABBBA
AAAAA

思路:

把图形分成几个正方形外圈,一个square就是一个外圈然后用递归直到n的值变为2或1时终止,其中n视为正方形的边长,所以每经过一次square函数,边长变短2,n的值减小2.

#include <stdio.h>
void square(char a[][100],int n,int f)
{ 
 int i,j;
 if(f==0)  a[f][f]='A';
  for(i=f+1;i<f+n;i++)//第一排 
   a[f][i]=a[f][f];
    
 for(j=f+1;j<f+n;j++)//第n竖 
  a[j][f+n-1]=a[f][f];
 
 for(i=n+f-2;i>=f;i--)//第n排 
  a[f+n-1][i]=a[f][f];
 
 for(j=f+n-2;j>f;j--)//第一竖 
  a[j][f]=a[f][f];
 
 if(n==1||n==0) return;
 else 
 {
  a[f+1][f+1]=a[f][f]+1;
  square(a,n-2,f+1); 
 }
}
int main() 
{ 
 int m,n,i,j,f=0;
 char a[100][100];
 scanf ("%d",&m);
 n=2*m-1;
 square(a,n,f);
 for(i=0;i<n;i++)
 {
  for(j=0;j<n;j++)
   printf("%c",a[i][j]);
  printf("\n");
 }
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 图灵所说的“剥洋葱皮”的方法是指,解决一个问题时,应该先将问题分解成若干个规模较小的子问题,然后逐一解决这些子问题。这种方法类似于剥洋葱的过程,因为洋葱的外皮是分层的,可以逐层剥开。这种方法通常被称为分治法。 ### 回答2: 图灵所说的“剥洋葱皮”的方法是一种解决问题的思维方式。他认为,当面对一个复杂的问题时,可以将它看作是一个多层次的问题,就像剥洋葱一样,一层一层地解决。 首先,我们需要将问题分解成多个子问题。这样可以让问题变得更加简单明了,便于分析和解决。就像剥掉洋葱的外层一样,我们首先要找到最外层的问题。 接下来,我们逐个解决这些子问题。图灵认为,解决问题的关键是找到适当的方法和技巧。就像剥洋葱一样,我们需要找到剥离每一层的最佳方式。这可能需要我们进行试错,使用不同的方法和工具,直到找到最适合的解决方案。 最后,我们要将所有子问题的解决方案整合在一起,得出最终的答案。这就像将剥离的洋葱层层叠加在一起,形成一个完整的洋葱。通过将每个子问题的解决方案相互关联,我们可以建立起一个全面而完善的解决方案。 图灵的“剥洋葱皮”的方法强调了问题解决的系统性和层次性。它提醒我们,在面对棘手的问题时,不要一味地追求简单快速的解决,而是应该用更加深入和全面的方式来思考。只有通过逐层分析和解决,才能找到最符合实际情况的解决方案。 ### 回答3: 图灵所说的“剥洋葱皮”的方法是一种在解决问题时逐层深入的途径。就像剥洋葱一样,我们需要逐层剥去表面的皮,去发现和理解问题的核心和更深层次的本质。 这种方法的关键是将复杂的问题分解为更小的部分,并逐步分析每个部分。每一层都像是一个迷宫,需要我们仔细探索和理解,以便找到问题的答案。 剥洋葱皮的方法有助于我们理清思路,使复杂的问题变得简单明了。通过逐层剥离,我们可以发现隐藏在问题内部的一些因素、关系和规律。这种逐层剥洋葱皮的思维方式帮助我们更好地组织和分析信息,找到解决问题的途径和策略。 同样,这种方法也适用于学习新的知识和技能。我们可以逐步理解和掌握基础概念,再逐渐拓展到更深层次的知识。通过不断学习和探索,我们可以迅速提高自己的能力,并更好地理解复杂的问题和挑战。 总之,图灵所说的“剥洋葱皮”的方法是一种层层深入的思维方式,通过分解问题和逐步分析来寻找解决问题的答案。无论是解决问题还是学习掌握新知识,这种方法都能帮助我们更好地理清思路,提高分析问题的能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值