鱼C论坛

 找回密码
 立即注册
查看: 3659|回复: 5

求助~求大神们纠错

[复制链接]
发表于 2019-5-20 08:35:57 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 elegie 于 2019-5-20 08:38 编辑

#include<stdio.h>
#include<math.h>
int main()
{
        int f(int m, float x);
        int n;
        float x;
        scanf("%d %f", &n, &x);
        printf("%.3f", f(n, x));
        system("pause");
        return 0;
}
int f(int m, float x)
{
        float c;
        if (m == 1)c = sqrt(1 + x);
        else c = sqrt(f(m*1.0 - 1, x) + m * 1.0);
        return(c);
}
4[1].png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-5-20 09:14:08 | 显示全部楼层
一个很明显的错误就是你的f函数,返回值是int的!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2019-5-20 13:32:40 | 显示全部楼层
报什么错
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-20 16:32:26 | 显示全部楼层

输出答案一直是0.000
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-5-20 16:55:06 | 显示全部楼层
  1. #include<stdio.h>
  2. #include<math.h>

  3. double f(int n, double x)
  4. {
  5.         int i;
  6.         for (i=1;i<=n;++i){
  7.                 x=sqrt(i+x);
  8.         }
  9.         return x;
  10. }

  11. int main(){
  12.         int T;

  13.         scanf("%d",&T);
  14.         int i,n;
  15.         double x,ret[T];
  16.         for (i=0;i<T;++i){
  17.                 scanf("%d %lf",&n,&x);
  18.                 ret[i]=f(n,x);
  19.         }
  20.        
  21.         for (i=0;i<T;++i){
  22.                 printf("%.3f\n",ret[i]);
  23.         }
  24. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-5-20 18:52:27 | 显示全部楼层
  1. #include<stdio.h>
  2. #include<math.h>
  3. double fun(int n,double x);
  4. int main()
  5. {
  6.   int T,n;
  7.   double x;
  8.   printf("please input T:");
  9.   scanf("%d",&T);
  10.   double result[T];
  11.   printf("please input data of each row:\n");
  12.   for(int i=1;i<=T;i++)
  13.   {
  14.     scanf("%d %lf",&n,&x);
  15.     result[i-1]=fun(n,x);
  16.   }
  17.   printf("the result is:\n");
  18.   for(int i=0;i<T;i++)
  19.   {
  20.     printf("%.3lf\n",result[i]);
  21.   }
  22.   return 0;
  23. }

  24. double fun(int n,double x)
  25. {
  26.   double result=sqrt(1+x);
  27.   for(int i=2;i<=n;i++)
  28.   {
  29.     result=sqrt(i+result);
  30.    
  31.   }
  32.   return result;
  33. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-15 05:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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