C primer plus 第六版 第十章 第二题 编程练习答案

版权声明:转载请注明来源~ https://blog.csdn.net/Lth_1571138383/article/details/84666060

Github地址:φ(>ω<*)这里这里。

/*
    本程序应 习题-3 建立。
      题目要求: 
    编写一个程序,初始化一个 double 类型的数组,然后把该数组的内容拷贝至 3 个其他数组中。( 在main中声明这4个数组。)
               使用带数组表示法的函数进行第一份拷贝。
            使用带指针表示法和指针递增的函数进行第二份拷贝。
        把目标数组名、源数组名和带靠背的元素个数作为前两个函数的参数。
    第三个函数以目标数组名,源数组名和指向源数组最后一个元素后面的元素的指针。
*/

#include<stdio.h>

#define	n '\n'
#define i  5

void i1(double a[i], double b[i]);
void i2(double * a, double * b);
void i3(double * a, double * b, double * c);

int main(void)
{
	double b[i] = {1, 2, 3, 4, 5};
	double a1[i] = {};
	double a2[i] = {};
	double a3[i] = {};

	i1(a1, b);
	i2(a2, b);
	i3(a3, b, b+i);

	printf("\nBye~\n");
	getchar();

	return 0;
}

void i1(double a[i], double b[i])
{
	printf("This is the first array:\n");

	for (int a1 = 0; a1 < i; a1++)
	{
		a[a1] = b[a1];
		printf("%2lf\n", a[a1]); 
	}

	putchar(n);

	return;
}

void i2(double * a, double * b)
{
	printf("This is second array:\n");

	for (int a2 = 0; a2 < i; a2++)
	{
		*(a + a2) = *(b + a2);
		printf("%2lf\n", *(a + a2) );
	}

	putchar(n);

	return;
}

void i3(double * a, double * b, double * c)
{
	printf("This is third array:\n");

	for (int a3 = 0; a3 < i; a3++)
	{
		*(a + a3) = *(b + a3);
		printf("%2lf\n", *(a + a3) );
	}

	putchar(n);

	return;
}

猜你喜欢

转载自blog.csdn.net/Lth_1571138383/article/details/84666060
今日推荐