实验内容 1.1设计一个函数fun,功能是有N*N的矩阵,根据给定的m值,m<N,将每行元素中的值,均往右移m个位置,左边置0 #include<stdio.h> void fun(int (*a)[3],int m){ int n,j,i,k,num; int p=2; //右移位置列数 num=m; n=2; for(j=0;j<num;j++){ for(k=0;k<=1;k++){ for(i=0;i<=p;i++){ a[i][n]=a[i][n-1]; a[i][n-1]=0; } n--; } n=2; } } /*void foo(int (*a)[3], int m, int n) { int i = 0; int j = 0; printf("a[%d][%d]=%d\n", i, j, a[i][j]); } */ void show(int (*a)[3]){ int i,j; for(i=0;i<3;i++){ for(j=0;j<3;j++){ printf("%2d",a[i][j]); } printf("\n"); } } void main(){ int m,num; //int k; int a[3][3]={ {1,2,3}, {4,5,6}, {7,8,9}}; // int n; // int p=2; //右移位置列数 show(a); printf("请输入要右移的位数:"); scanf("%d",&m); num=m; /*n=2; for(j=0;j<num;j++){ for(k=0;k<=1;k++){ for(i=0;i<=p;i++){ a[i][n]=a[i][n-1]; a[i][n-1]=0; } n--; } n=2; } */ //foo(a, 2, 3); fun(a,num); show(a); } 也可以继续优化细节,比如设置菜单等 vc++6.0运行结果