C语言编程求出1/2+2/3+3/4+……+19/20的值
来源:百度知道 编辑:UC知道 时间:2024/06/14 07:44:11
请问#include "stdio.h"
#include "conio.h"
main()
{
int a,b,t;
float sum=0;
for(a=1;a<=19;a++)
for(b=2;b<=20;b++)
{
sum=sum+a/b;
t=a;a=a+1;b=t;
}
printf("sum is %6.4f\n",sum);
}
这个程序哪里对,我运行的结果总是错的,谢谢指教
这个错误算法,得到的结果是19.0000
#include "conio.h"
main()
{
int a,b,t;
float sum=0;
for(a=1;a<=19;a++)
for(b=2;b<=20;b++)
{
sum=sum+a/b;
t=a;a=a+1;b=t;
}
printf("sum is %6.4f\n",sum);
}
这个程序哪里对,我运行的结果总是错的,谢谢指教
这个错误算法,得到的结果是19.0000
一是 逻辑错误
二是 除法错误
a/b 因为都为整形 , 所以 除法得不到小数, 本题中为0
第二 这个算法本身有误
可以改为:
for(a=1;a<=19;a++)
{
sum=sum+(float)a/(a+1);
}
接着 yunbaishuilan 的回答,
在声明变量时,应该是 float a; 非 int a;
另外,yunbaishuilan 的回答,很不错的啦
两个for嵌套出错了
其实只需要一个for
for(int i=1;i<=19;i++)
{
sum = sum + i/(i+1)
}
这样就可以了
因为a ,b都是整形的数据!所以a/b=整形数据
例如a=1 b=4 a/b=0 或a=5 b=4 a/b=1
#include"stdio.h"
#include "conio.h"
main()
{
float a,b,t;
float sum=0;
for(a=1;a<=19;a++)
for(b=2;b<=20;b++)
{
sum=sum+a/b;
t=a;a=a+1;b=t;
}
printf("sum is %6.4f\n",sum);
}
把a,b换成float类型,且a=1.0;a<19.0;a++
b=1.0;b<19.0;b++
用C语言编程求出1至100中能同时被2和3整除的数值之和
C语言编程2
c语言编程 编程求2/1,3/2,5/3,8/5,13/8,21/13,........求出前n项的和
C语言编程,求出下列分数序列的前30项之和:2/1,3/2,5/3,8/5,13/8,21/13,...
c语言编程 2/1,3/2,5/3,8/5,13/8,21/13,........求出这个数列的前20项之和
C语言编程:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
用C语言编程求出s=3!+6!+9!+……+18!的值
C语言编程:求1!+2!+3!+…+20!
谁知道用C语言编程求1!+2!+3!+...+n!
1!+2!+3!+4!+5!的和 C语言编程