帮帮小白吧
#include<stdio.h>int main(){
int m,a;
double s;
scanf("%d",&m);
if(m%2<1){
for(s=0,a=2;a<=m;a=a+2){
s=s+1/(a-1)-1/a;
printf("%.6f",s);
exit(0);
}
}
else if(m%2>0){
for(s=0,a=1;a<=m;a=a+2){
s=s+1/a-1/(a+1);
}
s=s+1/(a+1);
printf("%.6f",s);
exit(0);
}
return 0;
}
我怎么样保证它输出的数是没有被整体约分的数呢,我输入3,他总是输入1.000000 你的意图是什么,把你的算法扼要描述一下好吗,最好同时给出样例。 jackz007 发表于 2020-11-1 12:29
你的意图是什么,把你的算法扼要描述一下好吗,最好同时给出样例。
就是计算s=1-1/2+1/3-1/4+.......+1/m 当输入3的时候 输出0.833333 #include <stdio.h>
int main(void)
{
int d , k , m ;
double s ;
scanf("%d" , & m) ;
for(s = 0 , d = 1 , k = 1 ; k <= m ; d = -d , k ++) s += 1.0 * d / k ;
printf("%lf\n" , s) ;
} jackz007 发表于 2020-11-1 13:08
{:10_275:}那能帮我看下,我内个还能抢救么 936241151 发表于 2020-11-1 13:39
那能帮我看下,我内个还能抢救么
不能,我的不就是你的吗? 本帖最后由 风过无痕1989 于 2020-11-1 19:30 编辑
我也写了一个,却没有办法调试
#include <stdio.h>
int main()
{
int k,N;
double s = 0,j = 1.0,o = -1.0;
scanf("%d",&N); // 要求多少项
for (k = 1; k <= N; k++)
{
if(k % 2 != 0) // 该项为奇数项
{
s += j / k;
}
else if(k % 2 == 0) // 该项为偶数项
{
s += o / k;
}
}
printf("数列前 %d 项和 s = %.6lf\n", N,s);
return 0;
} 兄弟,去处理一下这个帖子嘛
https://fishc.com.cn/thread-183241-1-1.html
页:
[1]