苹果刷机好吗:急!急! 关于c语言的作业

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/27 10:58:32
//小弟是在visual c++环境下做的 问题出在reading赋值后p1没接收到

//ex.cpp:

# include "ex.h"
const int SIZE=10;
double *p1,*p2;
void main()
{

//SIZE=10;
double a[SIZE];
p1=init(SIZE);
reading(p1);
printf("%f",*(p1+1));//////////////
product(p1);
sort(p1,a,SIZE);
p2=init(SIZE);
/*for(int i=0;i<SIZE;i++)
{
*p2=(*p1)*10;
p2++;p1++;
}
for(i=0;i<SIZE;i++)
{
printf("%f\t",a[i]);
}
printf("\n");
for(i=0;i<SIZE;i++)
{
printf("%f\t",*p2);
p2--;
}*/
//free(p1);
// free(p2);

}

//init.cpp:

# include <stdio.h>
# include <stdlib.h>
# include <string.h>
double *init(int num=0)
{
if(num<=0) exit(0);
//new double NewDouble[num];
return (double *)calloc(sizeof(double),num);
//return & NewDouble;
}

//product.cpp:
extern const int SIZE;
void product(double *p)
{
p=p-1+SIZE;
double Pro;
for(int i=0;i<SIZE;i++)
{
Pro=Pro*(*p);
p--;
}
}

//reading.cpp:

# include <stdio.h>
extern const int SIZE;
void reading(double *p)
{

printf("%s\n","input");
double a;
double b[10]={0.9,0.8,0.6,0.7,0.5,0.3,0.2,0.4,0.1,1.0};
for(int i=0;i<SIZE;i++)
{
//scanf("%f",&a);
a=b[i];//调试临时数据
p=&a;
p++;
}
//p=p+1-SIZE;
}
//sort.cpp:
extern const int SIZE;
void sort(double *p,double a[],int SIZE)
{
double temp;
for(int i=0;i<SIZE;i++)
{
a[i]=*p;
p++;
}
for(i=SIZE-1;i>0;i--)
{
int k=SIZE-1;
for(int j=0;j<i;j++)
{
if(a[k]<=a[k-1])
{
temp=a[k];
a[k]=a[k-1];
a[k-1]=temp;
k--;
}
}
}
}

//ex.h:

# include <stdio.h>
# include <stdlib.h>
# include <string.h>
//# include <iostream.h>
extern const int SIZE;
double *init(int);
void reading(double *);
void product(double *);
void sort(double *,double a[],int SIZE);
ex.h文件中的程序最后不要改
改那个reading(double *&p)不行 改过了 不行

将void reading(double *p)
改成 void reading(double *&p) 应该就好了