C语言二维数组打印三角形问题

#include"stdio.h"voidmain(){inta[3][3];inti,j;for(i=0;i<=2;i++)for(j=0;j<=2;j++)scanf... #include "stdio.h"
void main()
{
int a[3][3]; int i,j;
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
scanf("%d",&a[i][j]);
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
printf("%d",a[i][j]);
printf("\n");
}
getch();
}
输入123456789
会打印
123
456
789.
现在想打印出如下效果:请问怎么修改?
3
56
789;

1
45
789;

123
56
9;
本人刚学C语言,请不要见笑。
展开
 我来答
百度网友7c2537301b
2013-02-20
知道答主
回答量:17
采纳率:0%
帮助的人:17.9万
展开全部
  #include <stdio.h>
  int main()  {
   int a[3][3] = {1,2,3,4,5,6,7,8,9};
   int i,j;
   for( i=0 ; i < 3; i++ )
   {
   for( j=0 ; j < 3 ; j++ )
   {
   if( i+j > 1 )
   {
   printf("%d",a[i][j]);
   }
   else
   {
   putchar(' ');
   }
   }
   putchar('\n');
  }
  putchar('\n');
  for( i=0 ; i < 3; i++ )
  {
   for( j=0 ; j < 3 ; j++ )
   {
   if( i >= j )
   {
   printf("%d",a[i][j]);
   }
   else
   {
   putchar(' ');
   }
   }
   putchar('\n');
  }
  putchar('\n');
  for( i=0 ; i < 3; i++ )
  {
   for( j=0 ; j < 3 ; j++ )
   {
   if( j >= i )
   {
   printf("%d",a[i][j]);
   }
   else
   {
   putchar(' ');
   }
   }
   putchar('\n');
  }
  return 0;
}
我这里的 是一个容易理解的加长版,3种格式3种循环,关键的地方就在那几个判断语句的地方。也就是上面的同学写的三种case情况。
上面同学引入k变量的原因是用来对3种输出进行选择,选到哪个哪个就输出。可以知道k从0~2所以三种输出轮流输出,就能达到效果了。
我写的就是把他那些给铺开来了。容易理解,但代码重复,变长了。
以上就是这样。~

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shine1991
科技发烧友

2013-02-19 · 智能家居/数码/手机/智能家电产品都懂点
知道顶级答主
回答量:4.7万
采纳率:82%
帮助的人:2.3亿
展开全部
#include "stdio.h"
void main()
{
int a[3][3]; int i,j,k;
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
scanf("%d",&a[i][j]);
for(k=0;k<3;k++)
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
switch(k)
{
case 0:if(j<2-i){putchar('\040');continue;}break;
case 1:if(j>i) {putchar('\040');continue;}break;
case 2:if(j<i) {putchar('\040');continue;}break;
}
printf("%d",a[i][j]);
}
printf("\n");
}
getch();
}
追问
嗯,有几处不是很懂,还请大虾告知。
case 0:if(ji) {putchar('\040');continue;}break;
case 2:if(j<i) {putchar('\040');continue;}break;
这几行代码的含义。
尤其是if语句的判断条件和putchar('\040')。
变量k的引入,有什么含义呢?
我单独书写只成功完成了
123
45
7
这三个效果单独书写的if判断是怎么样的?需要引入另外一个变量吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式