zhengyangJ 发表于 2020-4-29 14:54:58

求大佬解决

/*
*程序目的:
*      
*      为实现0.2和-3的1到9次幂函数计算,
*并将结果输出到屏幕
*

*/
    #include <stdio.h>

int power(double m, int n)

main()
{
        int i;

        for(i==n;i<=10;i++)
        {
                printf("%f #d &d \n",i,power(n,2,i),power(-3,i));
        }

        return;
}

int power(double base, int n)
{
        int i, p;
        p = 1;
        for (i = 1; i < n; ++i)
                p = p *base;
        return p;
}
这代码错在哪?怎么改?求正确源代码

liuzhengyuan 发表于 2020-4-29 14:57:53

本帖最后由 liuzhengyuan 于 2020-4-29 15:01 编辑

①主函数里的 for 错了
应该是 i=n
不是 i==n

②你的变量 n,没有定义

永恒的蓝色梦想 发表于 2020-4-29 14:59:38

liuzhengyuan 发表于 2020-4-29 14:57
主函数里的 for 错了
应该是 i=n
不是 i==n

根本就没有n,他这代码我都不知道写的什么,注释还写不明白

sunrise085 发表于 2020-4-29 15:06:23

本帖最后由 sunrise085 于 2020-4-29 15:09 编辑

基本错误太多了
power函数返回值不应该是int,函数声明结尾居然没有分号
for循环初始条件应该是i=1
printf中#d和&d是什么鬼?
power(n,2,i)又是怎么个意思?
power函数定义中for循环次数不对。
等等,问题太多了

#include <stdio.h>
double power(double m, int n);
int main()
{
    int i;
    for(i=1;i<10;i++)
    {
      printf("%d %.9lf %.0lf \n",i,power(0.2,i),power(-3,i));
    }

    return 0;
}

double power(double base, int n)
{
    int i;
    double p;
    p = 1;
    for (i = 1; i <= n; ++i)
      p = p *base;
    return p;
}

SugarCane88 发表于 2020-4-29 15:08:08

0.2的n次方用 int类型也有问题吧?

damon2009a 发表于 2020-4-29 15:36:07

这里有许多错误,例如如果调用power函数,则需要#include<math.h>头文件。而且这里建议使用pow函数,pow函数也需要调用math头文件。还有,我建议您给每个程序做好注释。望采纳
页: [1]
查看完整版本: 求大佬解决