AppleBJTU 发表于 2017-12-21 12:01:55

请教一个小问题



#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:} 求教啊

人造人 发表于 2017-12-21 12:10:06

BngThea 发表于 2017-12-21 12:35:57

你的函数定义中用的是int类型的指针,而实际调用却用了double指针
把函数定义中的第一形参的int改成double

AppleBJTU 发表于 2017-12-21 13:56:15

BngThea 发表于 2017-12-21 12:35
你的函数定义中用的是int类型的指针,而实际调用却用了double指针
把函数定义中的第一形参的int改成double

你说n吗,n改成double还是这样的

AppleBJTU 发表于 2017-12-21 13:58:11

人造人 发表于 2017-12-21 12:10


请问怎么改?

BngThea 发表于 2017-12-21 13:58:34

AppleBJTU 发表于 2017-12-21 13:56
你说n吗,n改成double还是这样的

我说的是 int *p
改成 double *p

人造人 发表于 2017-12-21 14:00:43

AppleBJTU 发表于 2017-12-21 13:58
请问怎么改?

最简单的一个方法,把1.cpp改成1.c就行了(就能编译通过了)
不过你的代码还有其他问题

AppleBJTU 发表于 2017-12-21 16:42:11

人造人 发表于 2017-12-21 14:00
最简单的一个方法,把1.cpp改成1.c就行了(就能编译通过了)
不过你的代码还有其他问题

error变成了warning{:10_250:}但是好像运算结果也不太对了

AppleBJTU 发表于 2017-12-21 16:53:10

BngThea 发表于 2017-12-21 13:58
我说的是 int *p
改成 double *p

哦哦好了,能麻烦您请看下我的代码和题目有没有什么出入吗?

BngThea 发表于 2017-12-21 17:02:48

AppleBJTU 发表于 2017-12-21 16:53
哦哦好了,能麻烦您请看下我的代码和题目有没有什么出入吗?

代码的通用性不高,我也没仔细检查,你可以自己测试试试

215330 发表于 2017-12-21 17:34:54

BngThea 发表于 2017-12-21 17:02
代码的通用性不高,我也没仔细检查,你可以自己测试试试

厉害了我的老铁,什么语言你都懂。{:9_228:}收下我的膝盖

215330 发表于 2017-12-21 17:35:45

BngThea 发表于 2017-12-21 17:02
代码的通用性不高,我也没仔细检查,你可以自己测试试试

厉害了我的老铁,什么语言你都懂。{:9_228:}收下我的膝盖

BngThea 发表于 2017-12-21 17:43:58

215330 发表于 2017-12-21 17:34
厉害了我的老铁,什么语言你都懂。收下我的膝盖

只会汇编,c,c++和python

AppleBJTU 发表于 2017-12-21 18:13:23

BngThea 发表于 2017-12-21 17:02
代码的通用性不高,我也没仔细检查,你可以自己测试试试

嗯我再试试
页: [1]
查看完整版本: 请教一个小问题