C语言:输出一个4*5的循环矩阵

循环矩阵
1 2 3 4 5
5 1 2 3 4
4 5 1 2 3
3 4 5 1 2
如何用C语言编程输出

按照你的要求编写的C语言4*5的循环矩阵的程序如下

#include<stdio.h>
int main(){
 int a[]={1,2,3,4,5};
 int i,j;
 for(i=0;i<4;i++){
  for(j=5-i;j<5;j++){
   printf("%d ",a[j]);
  }
  for(j=0;j<5-i;j++){
   printf("%d ",a[j]);
  }
  printf("\n");
 }
 return 0;
}

如果需要存储在二维数组中,可以看看下面的C语言程序

#include<stdio.h>
int main(){
 int a[]={1,2,3,4,5},b[4][5];
 int i,j,k;
 for(i=0;i<4;i++){
  k=0;
  for(j=5-i;j<5;j++,k++){
   b[i][k]=a[j];
  }
  for(j=0;j<5-i;j++,k++){
   b[i][k]=a[j];
  }
 }
 for(i=0;i<4;i++){
  for(j=0;j<5;j++){
   printf("%d ",b[i][j]);
  }
  printf("\n");
 }
 return 0;
}

运行结果

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-10-16
#include"stdio.h"

int main( )
{
int i, j, n=0;
for( i = 1; i <= 5; i++ ) //外层循环,循环五次,打印了五行
for( j = 1; j <= 5; j++, n++ ){ //内层循环,每内层循环每执行完一遍,n都比原来大5
if( n % 5 == 0 ) //因为n是从1到25的,所以当n为5的倍数的时候,
printf( "\n" ); //打印换行符,即每输出五个数换行一次
printf( "%d\t", i*j ); //输出i*j的值,并且输出制表符Tab
}
printf("\n");
system("pause");
return 0;
}

第2个回答  2017-10-16
#include <stdio.h>
void main()
{
int i,j,k,a[4][5];
for(i=0;i<5;i++)
a[0][i]=i+1;
for(i=1;i<4;i++)
for(j=0;j<5;j++)
{
k=j;
if(k==0) k=5;
a[i][j]=a[i-1][k-1];
}
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
printf("%-3d",a[i][j]);
printf("\n");
}
}

追问

有没有其它办法,我们还没学到用[ ]

追答

那你采纳的是什么?