首页 > 试题广场 >

编写一个程序,初始化一个二维double数组,并利用练习2中

[问答题]

编写一个程序,初始化一个二维double数组,并利用练习2中的任一函数来把这个数组复制到另一个二维数组(因为二维数组是数组的数组,所以可以使用处理一维数组的函数来复制数组的每个子数组)。

推荐
#include <stdio.h>
#define ROWS 2
#define COLS 3
void copy_2d(double source[][COLS], double target[][COLS], int );
void copy_1d(double a1[], double a2[], int n);
int main(void)
{
 int i,j;
 double source[ROWS][COLS] = {1, 2, 3, 4, 5, 6};
 double target[ROWS][COLS] = {0};
 copy_2d(source, target, ROWS);
 for (i=0; i<ROWS; i++)
 {
 for (j=0; j<COLS; j++)
 printf("%g\t",target[i][j]);
 printf("\n");
 }
 return 0;
} 
void copy_2d(double ( *source )[COLS], double target[][COLS], int n)
{
 int i;
 for(i=0;i<n;i++)
 copy_1d( *(source+i),target[i],COLS);
}
void copy_1d(double a1[], double *a2, int n)
{
 int i;
 for (i=0; i<n; i++)
 a2[i] = a1[i];
}

发表于 2018-05-05 21:46:50 回复(0)
#include<stdio.h>
void sor(double *x,double *y,int n)
{
		int i;
		for(i=0;i<n;i++)
		{
			y[i]=x[i];
		}
}
int main()
{
	double a[5];
	double b[5];
	int i;
	for(i=0;i<5;i++)
	{
		scanf("%lf",&a[i]);
	}
	sor(a,b,5);	
	for(i=0;i<5;i++)
	{
		printf("%lf\t",a[i]);
	}
	return 0;
	
}

发表于 2021-03-28 22:20:49 回复(0)