中易网

c语言1-1/2+1/3-1/4+1/5-1/6……请求出该多项式的前n项的和

答案:4  悬赏:80  
解决时间 2021-04-27 13:30
  • 提问者网友:饮鸿
  • 2021-04-27 10:39
c语言1-1/2+1/3-1/4+1/5-1/6……请求出该多项式的前n项的和
最佳答案
  • 二级知识专家网友:狙击你的心
  • 2021-04-27 10:55
从题目看应先输入项数n(正整数),再用for循环求结果较方便;计数变量从1开始依次增1,奇数取其倒数为正、偶数取其倒数为负求各项之浮点和即可完成。代码如下:
#include "stdio.h"
int main(int argc,char *argv[]){
double s;
int i,n;
printf("Input n(int n>0)...\nn=");
if(scanf("%d",&n)!=1 || n<1){//限制输入的项数n是正整数
printf("Input error, exit...\n");
return 0;
}
for(s=0,i=1;i<=n;s += i&1 ? 1.0/i++ : -1.0/i++);//i从1开始求倒数,奇数时取正,否则取负求浮点和
printf("The result are %g\n",s);//输出结果
return 0;
}试运行结果如下:


全部回答
  • 1楼网友:统治我的世界
  • 2021-04-27 13:45
#include <stdio.h> int main() {     int i,n,fuhao=1;     double sum=0;     printf("input n: ");     scanf("%d", &n );     for(i=1;i<n;i++ )     {         sum += 1.0*fuhao/i ;         fuhao=-fuhao;     }     printf("%g\n", sum );     return 0; }
  • 2楼网友:有钳、任性
  • 2021-04-27 12:46
#include <stdio.h> void main () {     int n;     int sum = 0;    //总和     int fram = -1; //符号     scanf(%d, n);     for (int i=1; i<=n; i++) {         fram = fram*(-1)         sum = sum + fram*(1/i);     }     printf("%d", sum); }
  • 3楼网友:都不是誰的誰
  • 2021-04-27 11:55
#include<stdio.h> int main() {     int i,n,flag=1;     float sum=0;     scanf("%d",&n);     for(i=1; i<=n; i++)     {         sum+=flag*1.0/i;         flag=flag*(-1);     }     printf("%f\n",sum);     return 0; }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息