#include<stdio.h>
double hanshu(int n);
int main()
{
int m,n;
double ret;
while(scanf("%d",&m)!=EOF)
{
int geshu[m];
int count;
count=1;
int i;
for(i=0;i<m;i++)
{
scanf("%d",&geshu[i]);
ret=hanshu(geshu[i]);
if(count==1)
printf("%.2f",ret);
if(count>1)
printf("% .2f",ret);
count=count+1;
}
}
return 0;
}
double hanshu(int n)
{
int w;
double sum;
sum=0;
for(w=1;w<=n;w=w+1)
{
if(w%2==1)
w=1.0/w;
else if(w%2==0)
{
w=1.0/w;
w=-w;
}
sum=sum+w;
}
return sum;
}

我这个代码哪里有问题(只要指出我的问题就可以了,请勿再重新写一个代码๑•́₃•̀๑)
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- qq_41851997 2021-09-04 16:46关注
while(scanf("%d",&m)!=EOF) 这个循环输入不要这样写
动态大小数组不要这样申请,换成malloc函数本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报