请高手指正啊。希望我的程序不会错得太过离谱……

来源:百度知道 编辑:UC知道 时间:2024/05/21 12:20:32
内容:
(1)编写分配一块内存的程序init。可存入10个double数据的空间,返回存储块的地址,返回类型是指针。
(2)编写完成读进10个双精度值得函数reading,函数能将这些值存进函数init申请的存储块中。无需返回值。
(3)编写计算机这些值得函数在product。积的运算时首先取出存储块的最后一个元素,然后依次用它前面的元素和它相乘。
(4)编写一个sort函数,用来将存储块中的10个双精度的值读入数组a中,然后将a中的数据按从小到大的顺序排列。
(5)再用init分配一块内存,将数组a的内容乘以10,并存到这块内存中去。
(6)在主程序中调用他们,输出第一次申请的内存块中的内容和数组排序后的内容,按反序输出第二次申请的内存块中的内容。

设计思想:
1、ex.h
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
extern const int SIZE;
double *init(int);
void reading(double *);
void product(double *);
void sort(double *,double a[],SIZE);
2、init.c
3、reading.c
4、product.c
5、sort.c
6、ex.c

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
double *init(int);
void reading(double *p);
void product(double *p,int n);
void sort(double *,double a[],SIZE);

void main()
{double *p1,*p2,*p3,c,i,k;
p1=

外部变量size表示该变量在其它文件中定义,这里只是进行了外部变量申明,不必再次定义,否则重定义。如:
下面两个源文件,在一个工程中
a.c
int size = 100; /* 外部变量定义*/
int type = 1; /* 重复定义 */
static int pi = 3.14; /* 正确局部变量*/

b.c
extern int size; /* 外部变量说明 */
int type = 1; /* 重复定义 */
static int pi = 3.14; /* 正确局部变量*/