鱼C论坛

 找回密码
 立即注册
查看: 1608|回复: 1

[已解决]这个怎么改{:10_254:}

[复制链接]
发表于 2017-3-6 23:32:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#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;
}
最佳答案
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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-28 00:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表