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

#include<stdio.h>
#define ROW 2//行
#define COL 5//列

void copy_arr(double[][COL],double[][COL],int);//数组下标法(第一层改变行数,看做2个包含5个数值的数组)
void copy_arr1(double[],double[],int);//数组下标法(第二层改变列数,对每一行的5个数值进行操作)

void copy_ptr(double (*)[COL],double (*)[COL],int);//指针法(第一层函数改变行数,看做2个包含5个数值的数组)
void copy_ptr1(double *,double *,int);//指针法(第二层函数改变列数,对每一行的5个数值进行操作)
//数组的处理一般是先对行运算,在对一行中的每列进行运算

void show();//显示函数

//需定义为全局变量
double source[ROW][COL]={{1.1,2.2,3.3,4.4,5.5},{2.1,3.2,4.3,5.4,6.5}};
double target1[ROW][COL]={0};
double target2[ROW][COL]={0};

int main(void)
{
printf("初始输出\n");
show();
copy_arr(source,target1,ROW);
printf("输出copy_arr运行的结果\n");
show();
copy_ptr(source,target2,ROW);
printf("输出copy_ptr运行的结果\n");
show();
}

void copy_arr(double a1[][COL],double a2[][COL],int n)//对行进行处理
{
int i;
for(i=0;i<n;i++)
copy_arr1(a1[i],a2[i],COL);//对每行,进入函数处理列
}

void copy_arr1(double b1[],double b2[],int n)//对列进行处理
{
int i;
for(i=0;i<n;i++)
b2[i]=b1[i];
}

void copy_ptr(double (*p1)[COL],double (*p2)[COL],int n)//对行进行处理
{
int i;
for(i=0;i<n;i++)
copy_ptr1(*(p1+i),*(p2+i),COL);//对每行,进入函数处理列
}

void copy_ptr1(double *q1,double *q2,int n)//对列进行处理
{
int i;
for(i=0;i<n;i++)
*(q2+i)=*(q1+i);
}

void show()
{
int i,j;

printf("source:\n");
for(i=0;i<ROW;i++)
{
for(j=0;j<COL;j++)
printf(" %.1f",source[i][j]);
printf("\n");
}
printf("target1:\n");
for(i=0;i<ROW;i++)
{
for(j=0;j<COL;j++)
printf(" %.1f",target1[i][j]);
printf("\n");
}
printf("target2:\n");
for(i=0;i<ROW;i++)
{
for(j=0;j<COL;j++)
printf(" %.1f",target2[i][j]);
printf("\n");
}
}

《c primer pius》第十章第6题,编写一个程序,初始化一个二维double数组,并利用练习2中的任一函数来把这个数组复制到另一个二维数组(因为二维数组是数组的数组,所以可以使用处理一维数组的相关推荐

  1. 把一个数组的值存入二叉树中,然后利用前序、中序、后序3种方式进行遍历(完整代码以及运行结果)(Java)

    把一个数组的值存入二叉树中,然后利用前序.中序.后序3种方式进行遍历(完整代码以及运行结果) 在最近的面试过程中,听说有小伙伴被面试官要求创建二叉树,然后对该二叉树进行遍历,感觉这一直以来都是一个大家 ...

  2. 编写一个程序,计算|X-Y|的值,并将结果存入RESULT单元中,其中X和Y都为带符号字数据。

    编写一个程序,计算|X-Y|的值,并将结果存入RESULT单元中,其中X和Y都为带符号字数据. P154 例4.11 汇编思路:DATA段定义X.Y.RESULE分别用于存放随机数.存放随机数.存放最 ...

  3. 编写一个程序,将用分钟表示的时间转换成以 小时和分钟表示的时间。使用#define来创建一个代 表60的符号常量。

    编写一个程序,将用分钟表示的时间转换成以 小时和分钟表示的时间.使用#define来创建一个代 表60的符号常量. /**编写一个程序,将用分钟表示的时间转换成以 小时和分钟表示的时间.使用#defi ...

  4. python:编写一个程序,接受用户输入的字符串,计算此字符串中的包含的数字和字母的个数。

    编写一个程序,接受用户输入的字符串,计算此字符串中的包含的数字和字母的个数.(提示,判断一个字符c是否为数字的方法是c.isdigit(),判断是否为字母的方法是c.isalpha())请详细写出解题 ...

  5. js 数组按奇偶拆分_js中通过split函数分割字符串成数组小例子

    str="2,2,3,5,6,6"; //这是一字符串 var strs= new Array(); //定义一数组 strs=str.split(","); ...

  6. 字符串数组-获取两个字符串中最大的相同子串(最大相同子串有且只有一个)

    public String getMaxSameStr(String str1,String str2){if (str1 != null && str2 != null){Strin ...

  7. opencv-python 详解直方图均衡(二)《再详细介绍直方图以及OpenCV中提供的函数使用》

    作者:RayChiu_Labloy 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 目录 传送门: 详解直方图均衡(一)<图像增强.灰度变换和直方图均衡化关系> ...

  8. 编写一个程序,将一个子字符串s2插入到主字符串s1中,其 插入位置为n

    本题可以看做一个字符串拼接问题,需要一个载体数组 #include<stdio.h> void insert_array(char s1[],char s2[],int n); /** 思 ...

  9. Java黑皮书课后题第8章:*8.31(几何:交点)编写一个方法,返回两条直线的交点。四个点存放在4*2的二维数组points中。编写一个程序,提示用户输入4个点,并显示交点

    *8.31(几何:交点)编写一个方法,返回两条直线的交点.四个点存放在4*2的二维数组points中.编写一个程序,提示用户输入4个点,并显示交点 题目 题目描述 破题 代码 本题运行实例 题目 题目 ...

最新文章

  1. 2017清华本科生特等奖得主出炉,AI学霸乔明达获奖
  2. Docker selenium自动化 - 执行程序没反应、不执行原因,强制处理之前失败的进程,“... requests waiting for a slot to be free“问题解决
  3. 简易计算器里的小数点在程序中怎么表示_财管普通计算器(内有彬哥经验)
  4. 201904快速阅读术
  5. class对象和class文件_Class文件格式
  6. mysql binlog过期策略_对存在过期 binlog 的 MySQL5.7 添加从服务器
  7. layui如何隐藏弹出层关闭的按钮
  8. MATLAB gui 欢迎界面 插入图片
  9. BZOJ3376: [Usaco2004 Open]Cube Stacking 方块游戏
  10. SQL SERVER 触发器中如何调用外部程序
  11. Java - springboot中md5加解密工具类
  12. 计算机绘图中常用指令,【CAD快捷键运用】CAD常用命令汇总
  13. 重装服务器系统只装C盘,如何只重装C盘的系统?
  14. 跳转到QQ聊天界面和QQ群界面
  15. 怎么用svg画一个圆圈(一)
  16. 程序设计-在校整理-06 最常公共子序列与子串+2048小游戏+KNN简单实例
  17. UVa 12325 - Zombie's Treasure Chest(暴力枚举+预处理)
  18. 网络渗透测试的概念以及作用
  19. 蛋白质组学研究的经典方法:双向电泳技术解读
  20. Symfony学习笔记之翻译组件-----translation总结

热门文章

  1. 计算机视觉中的多视图几何 pdf_多视图立体匹配论文解析:PVA-MVSNet
  2. 酷炫十足!3D立体元素平面版式设计作品
  3. 也谈逆商AQ--献给我的朋友梁斌
  4. Python——高斯赛德尔迭代求线性方程组的根
  5. 人脑皮层组织的大尺度梯度 Large-Scale Gradients in Human Cortical Organization
  6. lambda函数if_Python中lambda的使用,与它的三个好基友介绍!
  7. ABB机器人控制柜各模块指示灯状态详解
  8. davinci resolve达芬奇
  9. 数学教学通讯杂志数学教学通讯杂志社数学教学通讯编辑部2023年第5期目录
  10. 中科大linux用户组推荐的linux相关书目