|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#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
本帖最后由 风过无痕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;
- }
复制代码
|
|