C PRIMER PLUS(第六版编程练习)10.13编程练习

    技术2024-12-18  13

    /*编写一个程序,初始化一个double类型的3×5二维数组,使用一个处理变长数组的函数将其拷贝至另一个二维数组中。 还要编写一个以变长数组为形参的函数以显示两个数组的内容。这两个函数应该能处理任意N×M数组 (如果编译器不支持变长数组,就使用传统C函数处理N×5的数组)。 */ #include<stdio.h> #define ROWS 3 #define COLS 5 void copy_arr(int rows, int cols, double ar[rows][cols],double b[rows][cols]); void output_arr(int m,int n, double ar[m][n]) ; int main(void) { double a[ROWS][COLS] = { {1.1,2.2,3.3,4.4,5.5}, {6.6,7.7,8.8,9.9,10.10}, {11.1,12.2,13.3,14.4,15.5} }; int rs,cs; double varr[rs][cs]; printf("a[3][5]\n"); output_arr(ROWS,COLS,a); printf("\n"); copy_arr(ROWS,COLS,a,varr); output_arr(ROWS,COLS,a); output_arr(ROWS,COLS,varr); return 0; } void copy_arr(int rows, int cols, double ar[rows][cols],double b[rows][cols]) { int j,k; for(j = 0; j < rows;j++) { for(k = 0; k < cols; k++) { b[j][k] = ar[j][k]; } } } void output_arr(int rows,int cols, double ar[rows][cols]) { int i,j; for(i = 0; i < rows; i++) { for(j = 0; j < cols; j++) { printf("%lf\t",ar[i][j]); } printf("\n"); } }
    Processed: 0.010, SQL: 9