发布网友 发布时间:2024-10-24 13:33
共5个回答
热心网友 时间:2024-11-06 13:40
呵呵,你的程序是对的,只是第7行for后多了一个分号.去掉就好了
热心网友 时间:2024-11-06 13:44
main()
{
float f(int x);
int n,i;
float sum=0.0;
scanf("%d",&n);
for(i=1;i<=n;i++); /*似乎这里多了一个分号,多了分号后下面的
sum=sum+1/f(i)中的i的值为n+1,最终sum=sum+1/f
(n); */
{
sum=sum+1/f(i);
}
printf("sum=%f",sum);
}
float f(int x)
{
int i;
float p=0.0;
for(i=1;i<=x;i++)
{
p=p+i;
}
return(p);
}
热心网友 时间:2024-11-06 13:41
老兄,刚才那个程序我没发现还另有数据处理错误,我改了一下,运行正确:
float ch(int q)
{
int i;
float h=0.0;
for(i=1;i<=q;i++)
{
h=h+1;
}
return h;
}
main()
{
int i,n;
float sum=0.0;
scanf("%d",&n);
for(i=1;i<=n;i++)
sum=sum+1/ch(i);
print ("%f",sum);
}
另外你这个程序这样:
main()
{
float f(int x);
int n,i;
float sum=0.0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum=sum+1/f(i);
}
printf("sum=%f",sum);
}
float f(int x)
{
int i;
float p=0.0;
for(i=1;i<=x;i++)
{
p=p+1;
}
return(p);
}
热心网友 时间:2024-11-06 13:46
for(i=1;i<=n;i++); //不知道有多少人犯这种错误,这里加了分号,那么大括号里面的处理就只能循环一次
{
sum=sum+1/f(i);
}
热心网友 时间:2024-11-06 13:45
()
{
float f(int x);
int n,i;
float sum=0.0;
scanf("%d",&n);
for(i=1;i<=n;i++); /*似乎这里多了一个分号,多了分号后下面的
sum=sum+1/f(i)中的i的值为n+1,最终sum=sum+1/f
(n); */
{
sum=sum+1/f(i);
}
printf("sum=%f",sum);
}
float f(int x)
{
int i;
float p=0.0;
for(i=1;i<=x;i++)
{
p=p+i;
}
return(p);
}
kk