按照你的要求编写的C语言4*5的循环矩阵的程序如下
#include
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
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;
}
运行结果
#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;
}
#include
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");
}
}