请教一个小问题
#include <stdio.h>
double polynomial(int *p, int n, double x)
{
double result = 0, temp;
int i, j;
for (i = 0; i < n; i++)
{
temp = 1;
for (j = 0; j <= i; j++)
{
temp *= x;
}
result += *p+i * temp;
}
return result;
}
int main()
{
double a,b,c;
double factors;
double *p = factors;
double x;
int n;
printf("请输入项数:");
scanf("%d",&n);
printf("请输入系数");
scanf("%lf%lf%lf",&a,&b,&c);
printf("请输入自变量x的值");
scanf("%lf",&x);
factors = a;
factors = b;
factors = c;
double y = polynomial(p, n, x);
printf("y=%lf", y);
return 0;
}
题目如下:
1.(动态内存分配)实现一个一元多项式计算系统。多项式的项数和系数保存在数组中,数组通过动态内存分配创建。
首先是图片里的问题,不知道怎么改。
还有就是不知道这道题我这么写对不对{:10_266:} 求教啊 你的函数定义中用的是int类型的指针,而实际调用却用了double指针
把函数定义中的第一形参的int改成double BngThea 发表于 2017-12-21 12:35
你的函数定义中用的是int类型的指针,而实际调用却用了double指针
把函数定义中的第一形参的int改成double
你说n吗,n改成double还是这样的 人造人 发表于 2017-12-21 12:10
请问怎么改? AppleBJTU 发表于 2017-12-21 13:56
你说n吗,n改成double还是这样的
我说的是 int *p
改成 double *p AppleBJTU 发表于 2017-12-21 13:58
请问怎么改?
最简单的一个方法,把1.cpp改成1.c就行了(就能编译通过了)
不过你的代码还有其他问题
人造人 发表于 2017-12-21 14:00
最简单的一个方法,把1.cpp改成1.c就行了(就能编译通过了)
不过你的代码还有其他问题
error变成了warning{:10_250:}但是好像运算结果也不太对了
BngThea 发表于 2017-12-21 13:58
我说的是 int *p
改成 double *p
哦哦好了,能麻烦您请看下我的代码和题目有没有什么出入吗? AppleBJTU 发表于 2017-12-21 16:53
哦哦好了,能麻烦您请看下我的代码和题目有没有什么出入吗?
代码的通用性不高,我也没仔细检查,你可以自己测试试试 BngThea 发表于 2017-12-21 17:02
代码的通用性不高,我也没仔细检查,你可以自己测试试试
厉害了我的老铁,什么语言你都懂。{:9_228:}收下我的膝盖
BngThea 发表于 2017-12-21 17:02
代码的通用性不高,我也没仔细检查,你可以自己测试试试
厉害了我的老铁,什么语言你都懂。{:9_228:}收下我的膝盖
215330 发表于 2017-12-21 17:34
厉害了我的老铁,什么语言你都懂。收下我的膝盖
只会汇编,c,c++和python BngThea 发表于 2017-12-21 17:02
代码的通用性不高,我也没仔细检查,你可以自己测试试试
嗯我再试试
页:
[1]