c语言1-1/2+1/3-1/4+1/5……+(-1)的n-1次方1/n.在源程序中输入n的值

n的值不小于8

#include <stdio.h>
#include <conio.h>

int main (void) {
double sum;
int sign = 1; /* 控制正负符号 */
int n;
int i;

scanf ("%d", &n);
sum = 0;
for (i=1; i<=n; i++) {
sum += 1.0*sign/i;
sign *= -1;
}
printf ("1 - 1/2 + 1/3 - 1/4 + 1/5 ... 1/%d = %.16lf\n", n, sum);

getch (); /*屏幕暂留*/
return 0;
}

追问

结果不应该是每四个一换行 能被三整除的总和也不应该有小数啊

追答

啊?你说的不是这个问题吧?这个问题没有提到什么被三整除之类的。。。

追问

我想说的是如果n不小于8该怎么做

追答

加个限制条件咯

#include <stdio.h>
#include <conio.h>

int main (void) {
double sum;
int sign = 1; /* 控制正负符号 */
int n;
int i;

while (1) {
printf ("请输入n:");
scanf ("%d", &n);
if (n>=8)
break;
else
printf ("n不小于8,请重新输入!\n");
}
sum = 0;
for (i=1; i<=n; i++) {
sum += 1.0*sign/i;
sign *= -1;
}
printf ("1 - 1/2 + 1/3 - 1/4 + 1/5 ... 1/%d = %.16lf\n", n, sum);

getch (); /*屏幕暂留*/
return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2024-04-22
#include <stdio.h>#include <conio.h> int main (void) { double sum; int sign = 1; /* 控制正负符号 */ int n; int i; scanf ("%d", &n); sum = 0; for (i=1; i<=n; i++) { sum += 1.0*sign/i; sign *= -1; } printf ("1 - 1/2 + 1/3 - 1/4 + 1/5 ... 1/%d = %.16lf\n", n, sum); getch (); /*屏幕暂留*/ return 0;}

C语言编写函数求:1-1\/2+1\/3-1\/4+1\/5-1\/6+...1\/n的值怎么做?结果是什么...
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。2、在test.cpp文件中,输入C语言代码:。int n = 100;double s;for (int i = 1; i <= n; i++)if (i % 2 == 0)s -= 1.0 \/ i;else s += 1.0 \/ i;printf("%lf", s);3、编译器运行test.cpp文件,...

C语言 编程计算1-1\/2+1\/3-1\/4+……±1\/n
} printf("1-1\/2+1\/3-1\/4+ ... +-1\/n = %lf", sum);} 运行测试:

编写程序求s=1-1\/2+1\/3-1\/4+1\/5-1\/6+,,,+1\/n,其中n由键盘输
int main(){ printf("请输入N的值:\\n"); int n = 0; scanf("%d",&n); float s = 0.0; for (int i = 1; i <= n; i++) { if (i % 2 == 0) { s -= 1.0 \/ i; } else { s += 1.0 \/ i; } } printf("S...

用c语言编写函数求表达式1-1\/2+1\/3-1\/4+1\/5-1\/6+1\/7-…+1\/n的值?
printf("数列的值为:%f",x);}

python编写程序求:1-1\/2+1\/3-1\/4+1\/5…+(-1)n-11\/n?
while True:try:n = int(input('请输入数字:'))if n < 8:print('请输入大于等于8的整数!')else:breakexcept ValueError:print('请输入数字!')numbers = 0for i in range(1, n + 1):if i % 2 == 0:numbers -= 1 \/ ielse:numbers += 1 \/ iprint(f"当n={n}时,其结果为...

c语言1-1\/2+1\/3-1\/4+1\/5-1\/6……请求出该多项式的前n项的和
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++ : ...

用C++编写程序函数求表达式1-1\/2+1\/3-1\/4+1\/5-1\/6+1\/7-...+1\/n的值
int fun(int n){ double sum = 0.0;int k = 1;for(int i = 1; i <= n; i++){ sum += (1.0\/double(i))*k;k = k*(-1);} return sum;}

用C语言编程:求1-1\/2+1\/3-1\/4+1\/5-1\/6+…+1\/99-1\/100+…的值…
number n:\\n");\/\/提示用户输入想要的分母值 scanf("%d",&n);\/\/需要用户输入的n的值 for(i=1,sum=0;i<=n;i++)\/\/循环从1到n进行求和 { sum+=k\/i;\/\/累加求和 k*=-1;\/\/实现符号的变换 } printf("%lf\\n",sum);\/\/输出结果 return 0;} 一步一步的写的,希望对你有帮助!

C语言编程题,计算S=1-1\/2+1\/3-1\/4...+1\/m
由于你的n是int型,则1\/n是整数,程序中的1\/n或(-1)\/n一直是0,所以s一直都是0;将t=1\/n和t=(-1)\/n改为t=1\/(float)n和t=-1\/(float)n即可,即将n强制转换为float型,这样1\/n就可以表示为小数了。

C语言:求1-1\/2!+1\/3!-1\/4!+……+1\/n!的值
if (in_int==1)return in_int;else return(js(in_int-1)*in_int);} void main(){ int n;int i;float sum=0.00;while (1){ printf("请输入(1-1\/2!+1\/3!-1\/4!+……+1\/n!)的n:");scanf("%d",&n);fflush(stdin);if ( n>0 ) break;else printf("\\nERROR:错误,...

相似回答