//将3*5矩阵中第k列的元素左移到第0列,第k列以后的每列元素依次左移,原来左边的各列依次绕到右边。
#include <stdio.h>
#define M 3
#define N 5
void fun(int (*a)[N],int k)
{ int i,j,p,temp;
/**********found**********/
for(p=; p<= k; p++)
for(i=; i<M; i++)//总共三行,三次循环
{ temp=a[i][];//每一行记录第一个元素
/**********found**********/
for(j=; j< N ; j++) a[i][j]=a[i][j+];//每一个元素,用它一行的后一个元素赋值。
/**********found**********/
a[i][N-]= temp;//每一行最后一个元素赋值
}
}
void main( )
{ int x[M][N]={ {,,,,},{,,,,},{,,,,} },i,j;
printf("The array before moving:\n\n");
for(i=; i<M; i++)
{ for(j=; j<N; j++) printf("%3d",x[i][j]);
printf("\n");
}
fun(x,);
printf("The array after moving:\n\n");
for(i=; i<M; i++)
{ for(j=; j<N; j++) printf("%3d",x[i][j]);
printf("\n");
}
}
//函数fun:根据形参m的值,在m行m列的二维数组中存放如下规律的数据,由main函数输出。输入2,【1234(\n)2468(\n)369 12(\n)48 12 16】
#include <conio.h>
#include <stdio.h>
#define M 10
int a[M][M] = {} ; /**************found**************/
void fun(int a[][M], int m)//注意这里
{ int j, k ;
for (j = ; j < m ; j++ )
for (k = ; k < m ; k++ )
/**************found**************/
a[j][k] =( k+) * (j+) ;
} void main ( )
{ int i, j, n ; printf ( " Enter n : " ) ; scanf ("%d", &n ) ;
fun ( a, n ) ;
for ( i = ; i < n ; i++)
{ for (j = ; j < n ; j++)
printf ( "%4d", a[i][j] ) ;
printf ( "\n" ) ;
}
}