求,想知道代码报错原因或者其他方法也行

我写了两个都在报错想问一下问题在哪里还有就是其中一个只是大致思路就卡住了希望有人帮我看看有没有更好的方法

img

img

第一张图:你创建了两个main函数,请删除一个
第二张图:①把float sum
放在main函数上面;
                   ②然后在main函数里里面定义一个n;
                  ③for循环条件错了

参考如下
#include "stdio.h"

static float sum(int n);

int main()
{
  int n =0;
  float fSum = 0;
  scanf("%d",n);
  fSum = sum(n);
  printf("%f",fSum );
  return 0;
}
static float sum(int n)
{
  float sum = 0, a=1, b=2;
  if(n<=0)
    return 0;
  for(n;n>0;n--)
  {
    sum+=(b/a)
  }
  return sum;
}

你的函数f()时未传递参数n,修改代码:


#include <stdio.h>

float f(int n);

int main() {
    int n;
    scanf("%d", &n);
    printf("%2f", f(n));
    return 0;
}

float f(int n) {
    int i=1;
    float sum=2,a=2;
    while(n>1&&(i<n)){
        a=1/a+1;
        sum=sum+a;
        i++;
    }
    return sum;
}

代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。
提醒:再牛×的老师也无法代替学生自己领悟和上厕所!
单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。