源程序如下:
#include
void main()
{
int i,j,k;
int a[]={0,1,2,3,4};
int temp[][3]={0,0,0};
for(i=0;i<=3;i++)
{
for(j=i+1;j<=4;j++)
{
for(k=j+1;k<=5;k++)
{
printf("%d %d %d\n",a[i],a[j],a[k]);
}
}
}
}
要将print出来的结果放到二维数组temp中,谢谢。
一般来说,二维数组都是二个for,一个是行,一个是列,如果更多,那就是有不同的需求了,没法定下一定用几个for,一切根据实际需要。
另外你的程序是有问题的
main()
{int a [5][5],i,j,n=1;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
a[i][j]=n++;
printf("the result is :\n");
for(i=0;j<=i;j++) //这句是有问题的,我感觉你是写串行了。我想原来应该是下面这样
for(i=0;i<5;i++)
for(j=0;j<=i;j++)//这里是输出下半三角用的
printf(" "%4",a[i][j]) ;
printf("\n")
}
改成下面程序;
main()
{int a [5][5],i,j,n=1;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
a[i][j]=n++;
printf("the result is :\n");
for(i=0;i<5;i++)
{for(j=0;j<=i;j++)
printf("%4",a[i][j]) ;
printf("\n");}
}