编写一个程序,初始化一个double类型的数组,然后把该数组的内容拷贝至3个其他数组中(在main()中声明这4个数组)。

简介: 编写一个程序,初始化一个double类型的数组,然后把该数组的内容拷贝至3个其他数组中(在main()中声明这4个数组)。

使用带数组法的函数进行第一份拷贝。使用带指针表示法和指针递增的函数进行第二份拷贝。把目标数组名和待拷贝的元素个数作为前两个函数的参数。第3个函数以目标数组名、源数组名和指向源数组最后一个元素后面的元素的指针。也就是说,给定以下声明,则函数调用如下所示:

    double source[5]={1.1,2.2,3.3,4.4,5.5};
  double target1[5];
  double target2[5];
  double target3[5];
  copy_arr(target1,source,5);
    copy_ptr(target2,source,5);
  copy_ptrs(target3,source,source+5);

源程序:

#include <iostream>
#include <Windows.h>
using namespace std;
void copy_arr(double target1[],double source[],int len)
{
  for(int i=0;i<len;i++)
  {
    target1[i]=source[i];
  }
}
void copy_ptr(double *target2,double *source,int len)
{
  for(int i=0;i<len;i++)
  {
    *target2++=*(source+i);
  }
}
void copy_ptrs(double *target3,double *source_start,double *source_end)
{
  for(;source_start<source_end;source_start++)
  {
    *target3=*source_start;
    target3++;
  }
}
int main(void)
{
  double source[5]={1.1,2.2,3.3,4.4,5.5};
  double target1[5];
  double target2[5];
  double target3[5];
  copy_arr(target1,source,5);
  cout<<"target1:";
  for(int i=0;i<sizeof(source)/sizeof(source[0]);i++)
  {
    cout<<target1[i]<<" ";
  }
  cout<<endl;
  copy_ptr(target2,source,5);
  cout<<"target2:";
  for(int i=0;i<sizeof(source)/sizeof(source[0]);i++)
  {
    cout<<target2[i]<<" ";
  }
  cout<<endl;
  copy_ptrs(target3,source,source+5);
  cout<<"target3:";
  for(int i=0;i<sizeof(source)/sizeof(source[0]);i++)
  {
    cout<<target3[i]<<" ";
  }
  cout<<endl;
  system("pause");
  return 0;
}

运行结果:3881b1af862c41b485f27a46832279bc.png

相关文章
C/C++ 关于double和float两种类型的区别
C/C++ 关于double和float两种类型的区别
C/C++ 关于double和float两种类型的区别
|
7月前
|
C#
C# 字节数组与INT16,float,double之间相互转换,字符数组与字符串相互转换,
C# 字节数组与INT16,float,double之间相互转换,字符数组与字符串相互转换,
224 2
|
Android开发
Android 中把double类型强转为整形的方法
Android 中把double类型强转为整形的方法
104 0
|
JSON 数据格式
Gson转换json数据为HashMap时long类型变为double问题解决
今天再使用Gson处理json数据的时候碰到了一个问题 , 当我使用如下代码解析json数据的时候 , requestTime就变为了double类型
332 0
|
存储 Java
探索Java Double类型:浮点数的精确表达与实际应用
在Java编程中,浮点数是一种用于表示带小数部分的数字的数据类型。然而,由于浮点数的特性,其在计算机中的存储和运算存在一些精度问题。为了克服这些问题,Java提供了Double类作为浮点数的包装类,以提供更好的精确性和处理能力。本文将引导您深入了解Java中的Double类型,包括其特点、用法、注意事项以及在实际应用中的应用场景。
|
JSON 数据格式
Retrofit,Gson解析,请求返回的类型不统一,假如double返回的是null
Retrofit,Gson解析,请求返回的类型不统一,假如double返回的是null
312 0
|
Java
double类型大小比较的方法
double类型大小比较的方法
506 0
|
7月前
|
存储 Java
百度搜索:蓝易云【Java语言之float、double内存存储方式】
由于使用IEEE 754标准进行存储,float和double类型可以表示非常大或非常小的浮点数,并且具有一定的精度。然而,由于浮点数的特性,它们在进行精确计算时可能会存在舍入误差。在编写Java程序时,需要注意使
100 0
|
7天前
|
存储 关系型数据库 MySQL
double ,FLOAT还是double(m,n)--深入解析MySQL数据库中双精度浮点数的使用
本文探讨了在MySQL中使用`float`和`double`时指定精度和刻度的影响。对于`float`,指定精度会影响存储大小:0-23位使用4字节单精度存储,24-53位使用8字节双精度存储。而对于`double`,指定精度和刻度对存储空间没有影响,但可以限制数值的输入范围,提高数据的规范性和业务意义。从性能角度看,`float`和`double`的区别不大,但在存储空间和数据输入方面,指定精度和刻度有助于优化和约束。
下一篇
DataWorks