两种基本相同的方法,代20测试时输出来的两者数据相同,代50测试时怎么输出来的数据不同?
//C语言
//1.
#include<stdio.h>
void main()
{
double a[20000];
int n,i;
double sum=0,s;
scanf("%d",&n);
a[0]=2;
a[1]=3;
for(i=2;i<n;i++)
{
a[i]=a[i-1]+a[i-2];
}
for(i=0;i<n;i++)
{
if(i==0)
{
s=a[i]/(i+1);
}
else if(i>0)
{
s=a[i]/a[i-1];
}
sum=sum+s;
}
printf("%.2lf",sum);
}
//2.
#include<stdio.h>
void main()
{
int a[20000];
int n,i;
double sum=0,s;
scanf("%d",&n);
a[0]=2;
a[1]=3;
for(i=2;i<n;i++)
{
a[i]=a[i-1]+a[i-2];
}
for(i=0;i<n;i++)
{
if(i==0)
{
s=1.0*a[i]/(i+1);
}
else if(i>0)
{
s=1.0*a[i]/a[i-1];
}
sum=sum+s;
}
printf("%.2lf",sum);
}
weixin_53089404
2021/01/13 22:24- c++
- 点赞
- 收藏
- 回答