首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一个c有关问题

2012-03-31 
一个c问题求救1.实验题目编写读入15个双精度的值\申请一个存储块\计算这些值得的乘积的程序.如果求分配的

一个c问题求救
1.实验题目
编写读入15个双精度的值\申请一个存储块\计算这些值得的乘积的程序.如果求分配的内存的函数不成功,则返回NULL
2.实验要求
1)分别编写头文件和c文件
2)C文件含有4个函数,他们分别完成读入15个双精度的值\申请一个存储块\计算这些值得乘积以及主函数的功能
3)要求在主函数中调用分配内存的函数,并判断是否分配成功
  1. 头文件”c6”
#ifndef ___Hc6H_____
#define ___Hc6H_____
#include<stdio.h>
#include<stdlib.h>
#define N 4
double* fenpei(int);
double *duru(double*(*)(),int);
double mutiply(double*const);
#endif 
_____________________________________________________

2.分配内存的函数 fenpei
#include"c6.h"
double* fenpei(int n)
{
double *p;
if((p=(double*)malloc(n*sizeof(double)))==NULL)
{
printf("分配空间失败\n");
exit(1);
}
//printf("%d",sizeof(p));
return p;
}
3.读取数据函数
#include"c6.h"
double* duru(double*(*p)(),int n)
{
int i;
double*q,t;
q=(*p)(n);
printf("\n请输入数据:\n");
for(i=0;i<N;i++,q++)
{
scanf("%d",&t);
*q=t;
}
q=q-N;
return q;


}
4.相乘
#include"c6.h"
double mutiply(double*const c)
{
double muti=1.0;
int i;
for(i=0;i<N;i++)
muti=muti*(*(c+i));
return muti;

}
5主函数
#include"c6.h"
void main()
{
double*g,t;
g=duru(fenpei,N);
t=mutiply(g);
printf("%lf\n",t);


}
结果:是一个大的变态的数字
请个位帮我看下
小c我在这里谢过大家了!



[解决办法]
scanf("%lf",&t);

热点排行