鱼C论坛

 找回密码
 立即注册
查看: 1456|回复: 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 编辑

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

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

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

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

  8. int main()
  9. {
  10.         int i,n;
  11.         double x,item,s;
  12.         double fact(int n);
  13.         printf("请输入一个正整数, ");
  14.         scanf("%d",&n);
  15.         printf("请输入一个实数, ");
  16.         scanf("%lf",&x);
  17.         s=0;

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

  23.         for(i=1;i<=n;i++)
  24.         {
  25.                 //该在循环中处理的语句  for()语句后面不加分号;
  26.                 if(x>=0)
  27.                 {
  28.                         item=fact(n)/pow(x,n);
  29.                 }else
  30.                 {
  31.                         item=pow(x,n)/fact(n);
  32.                 }
  33.                 s=s+item;
  34.                 printf("x=%f,n=%f,s=%f\n",x,n,s);
  35.         }
  36.        
  37. }


  38. double fact(int n)
  39. {
  40.         int i;
  41.         double product;
  42.         product=1;
  43.         for(i=1;i<=n;i++) product=product*i;
  44.         return product;
  45. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-3-6 23:49:01 | 显示全部楼层    本楼为最佳答案   
本帖最后由 joker11111 于 2017-3-6 23:50 编辑

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

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

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

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

  8. int main()
  9. {
  10.         int i,n;
  11.         double x,item,s;
  12.         double fact(int n);
  13.         printf("请输入一个正整数, ");
  14.         scanf("%d",&n);
  15.         printf("请输入一个实数, ");
  16.         scanf("%lf",&x);
  17.         s=0;

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

  23.         for(i=1;i<=n;i++)
  24.         {
  25.                 //该在循环中处理的语句  for()语句后面不加分号;
  26.                 if(x>=0)
  27.                 {
  28.                         item=fact(n)/pow(x,n);
  29.                 }else
  30.                 {
  31.                         item=pow(x,n)/fact(n);
  32.                 }
  33.                 s=s+item;
  34.                 printf("x=%f,n=%f,s=%f\n",x,n,s);
  35.         }
  36.        
  37. }


  38. double fact(int n)
  39. {
  40.         int i;
  41.         double product;
  42.         product=1;
  43.         for(i=1;i<=n;i++) product=product*i;
  44.         return product;
  45. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 03:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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