m0_58203183 2022-05-28 11:44 采纳率: 85.7%
浏览 17
已结题

怎么样修改,使得num输出

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

#if(1)
int sum(int n)
{
int i;
int c=0,a=1,b=1;
if(n==1)
{
return a;
}
for(i=1;i<n;i++)
{
c=a+b;
b=a;
a=c;

}
return c;

}

void main()
{
int i,n,a,c;
float num;
printf("数组前n项之和:");
scanf("%d",&n);

printf("\n");

for(i=1;i<=n;i++)
{
    a=sum(i);
    c=sum(i+1);
    num=num+c/a;
}
printf("num= %f\n",num);

printf("\n");
system("pause");

}
#endif

  • 写回答

1条回答 默认 最新

  • 程序喵正在路上 新星创作者: 后端开发技术领域 2022-05-28 12:33
    关注

    帮你改好了,有帮助的话请采纳一下,谢谢

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    
    int sum(int n)
    {
        int i;
        int c = 0, a = 1, b = 1;
    
        if (n == 1)
        {
            return a;
        }
    
        for (i = 1; i < n; i++)
        {
            c = a + b;
            b = a;
            a = c;
        }
    
        return c;
    }
    
    void main()
    {
        int i, n, a, c;
        float num = 0;
        printf("数组前n项之和:");
        scanf("%d", &n);
    
        printf("\n");
    
        for (i = 1; i <= n; i++)
        {
            a = sum(i);
            c = sum(i + 1);
            num = num + c * 1.0 / a;
        }
    
        printf("num= %f\n", num);
    
        printf("\n");
        system("pause");
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 6月5日
  • 已采纳回答 5月28日
  • 创建了问题 5月28日