叶小兽 发表于 2017-3-6 23:32:21

这个怎么改{:10_254:}

#include <stdio.h>
int main()
{
   int i,n;
double x,item,s;
double fact(int n),power(double x,int n);
printf("请输入一个正整数, ");
scanf("%d",&n);
printf("请输入一个实数, ");
scanf("%lf",&x);
s=0;
for(i=1;i<=n;i++);
if(x>=0) item=fact(n)/power(x,n);
else item=power(x,n)/fact(n);
s=s+item;
printf("x=%f,n=%f,s=%f\n",x,n,s);
}


double fact(int n),power(double x,int n)
{
   int i;
   double product,pow;
product=1;
for(i=1;i<=n;i++) product=product*i ;pow=power(x,n);
return product,pow;
}

joker11111 发表于 2017-3-6 23:49:01

本帖最后由 joker11111 于 2017-3-6 23:50 编辑

楼主代码格式很是混乱,需要调整,下次问题请说明自己的程序想要做什么,别人好帮你改,以下自己猜测楼主的目的,改一点格式,有问题后续再贴

#include <stdio.h>
#include <math.h>

//double的意思是双精度浮点型,并不是一次返回两个值,概念不清
double fact(int n);//函数的声明

//pow(x,y)函数是返回用来 x 的 y 次幂(次方) 需要包含头文件math.h
//其原型为:
//   double pow(double x, double y);

int main()
{
        int i,n;
        double x,item,s;
        double fact(int n);
        printf("请输入一个正整数, ");
        scanf("%d",&n);
        printf("请输入一个实数, ");
        scanf("%lf",&x);
        s=0;

        //for(i=1;i<=n;i++);
        //if(x>=0) item=fact(n)/power(x,n);
        //else item=power(x,n)/fact(n);
        //s=s+item;
        //printf("x=%f,n=%f,s=%f\n",x,n,s);

        for(i=1;i<=n;i++)
        {
                //该在循环中处理的语句for()语句后面不加分号;
                if(x>=0)
                {
                        item=fact(n)/pow(x,n);
                }else
                {
                        item=pow(x,n)/fact(n);
                }
                s=s+item;
                printf("x=%f,n=%f,s=%f\n",x,n,s);
        }
       
}


double fact(int n)
{
        int i;
        double product;
        product=1;
        for(i=1;i<=n;i++) product=product*i;
        return product;
}
页: [1]
查看完整版本: 这个怎么改{:10_254:}