#include <stdio.h>
int qiuhe(int n)
{
int re=0;
int i;
for(i=1;i<=n;i++)
{
re+=i;
}
return re;
}
int qiupfhe(int n)
{
int re=0;
int i;
for(i=1;i<=n;i++)
{
re+=i*i;
}
return re;
}
double qiudshe(int n)
{
double re=0;
int i;
for(i=1;i<=n;i++)
{
re+=1.0/i;
}
return re;
}
void main()
{
double res;
res=qiuhe(100)+qiupfhe(50)+qiudshe(10);
printf("%.4f\t",res);
}
C语言,结果一直为负值。
答案:3 悬赏:60
解决时间 2021-03-07 22:53
- 提问者网友:深爱及嗨
- 2021-03-07 03:43
最佳答案
- 二级知识专家网友:如果这是命
- 2021-03-07 05:11
把第二个函数改为double 型就可以啦
#include "stdio.h"
double qiuhe(int n)
{
double re=0;
int i;
for(i=1;i<=n;i++)
{
re+=i;
}
return re;
}
double qiupfhe(int n)
{
double re=0;
int i;
for(i=1;i<=n;i++)
{
re+=i*i;
}
return re;
}
double qiudshe(int n)
{
double re=0;
int i;
for(i=1;i<=n;i++)
{
re+=1.0/i;
}
return re;
}
main()
{
double res;
res=qiuhe(100)+qiupfhe(50)+qiudshe(10);
printf("%.4f\t",res);
}
#include "stdio.h"
double qiuhe(int n)
{
double re=0;
int i;
for(i=1;i<=n;i++)
{
re+=i;
}
return re;
}
double qiupfhe(int n)
{
double re=0;
int i;
for(i=1;i<=n;i++)
{
re+=i*i;
}
return re;
}
double qiudshe(int n)
{
double re=0;
int i;
for(i=1;i<=n;i++)
{
re+=1.0/i;
}
return re;
}
main()
{
double res;
res=qiuhe(100)+qiupfhe(50)+qiudshe(10);
printf("%.4f\t",res);
}
全部回答
- 1楼网友:狠傷凤凰
- 2021-03-07 07:30
可以手工计算一下:
第一步:
变量初始化:t=1;i=1;s=1
第二部:while循环
因为 t/i=1/1=1>0.00001 因此进入循环体
经过循环体处理后:
t=-1;i=3;s=1
第三步:while循环
因为 t/i=-1/3=-0.333333<0.00001 因此跳出循环体
这时t,i,s的值不会发生变化,即:
t=-1;i=3;s=1
第四部:打印s值
因为这时s=1,所以打印的值是1
- 2楼网友:许你一世温柔
- 2021-03-07 06:48
我运行的结果是47977.9290,不是负数。visual c++6.0环境
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |