请精通C语言的网友们进

来源:百度知道 编辑:UC知道 时间:2024/07/07 12:04:29
编写函数,根据整型形参n的值,计算如下公式的值:
1-1/2+1/3-1/4+1/5-1/6+1/7-...+1/n
我编的好像不对,向大家请教一下下:

#include <stdio.h>
main()
{int i,s,n;
scanf("%d",&n);
s=0;
for(i=1;i<=n;i++)
{i=-i;
s=s+(-1/i);

#include <stdio.h>

int main()
{
double result = 1.0;
int sign = -1;
int n,i;
scanf("%d",&n);
for(i=2;i<=n;i++)
{
result+=sign*1.0/i;
sign*=-1;
}
printf("Result is: %g\n",result);
}

s应该是float 的
#include <stdio.h>
main()
{int i,n;
float s;
scanf("%d",&n);
s=0;
for(i=1;i<=n;i++)
{i=-i;
s=s+(-1.0/i); }
你再试试

1) s 的数据类型应该单独列出来使用双精度定义语句:
double s;

2) 在算式中: s=s+(-1/i); 应该使用强制性类型转换函数语句,改为:

s=s+ (double)(-1/i);

3) int i; 这个数据类型比较小,可以使用 long 类型

4) 把2) 式中的 i 用其它的 整形 变量替换一下, 因为i变量是用于控制循环机制,一般不随便改变它.

其它的没有毛病.

#include <stdio.h>
using namespace std;
void main()
{
int n;
scanf("%d",&n);
double temp(0);
for (int i =1;i<=n;i++)
{
temp =temp+1.0/i;// 1.0/i自动转化为double类型。<