C语言编程:求n-n/2+n/3-n/4+...-n/100的值。要求见下,怎么编写?

2020-07-05

C语言编程:求n-n/2+n/3-n/4+...-n/100的值。要求见下,怎么编写?


文本:#include "stdio.h"double usefor(int n){int m; double s; for(s=0.0,m=1;m<101;m++)s += m%1 ? n/(m+0.0) : -n/(m+0.0); return s;}double usewhile(int n){ int m; double s,N; s=0.0,m=1,N=n; while(m<101)s += m%1 ? N/m++ : -N/m++; return s;}double usedo_while(int n){ int m=1; double s=0.0,x=n; do{s += m&1 ? x/m++ : -x/m++; }while(m<100); return s;}int main(int argc,char *argv[]){ int n; printf("Enter n(int)... n="); scanf("%d",&n); printf("Use 'for': %f ",usefor(n)); printf("Use 'while': %f ",usewhile(n)); printf("Use 'do~while': %f ",usewhile(n)); return 0;}供参考……


n和f的值是怎么来的,哪里有n,f的赋值?编程

函数实现中,因为传入的参数是引用,所以,对应的形参所以,你这边的n、f的值对应上面的值。


C语言编程:求1!+2!+3!+、、、+n!的值?
#include
main()
{
int
i,b,sum=1,g;/*各个需要的元素,sum初值化,就拿1-4乘的和来试炼*/
for(i=2;i<5;i++)
{
g=i;
/*切赋值一下,因为下改变*/
for(b=1;b<=i-1;b++)
{
g*=b;
}
sum+=g;
}
printf("总和是%d\n",sum);
}

#include
doublefun(intn)
{if(n==0)return1.0;
returnn*fun(n-1);
}
intmain()
{inti,n;
doubles=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
s+=fun(i);
printf("%g ",s);
return0;
}

的时间度为O(n^2)

追答

你的这个编程序的问题已经完成;你所说的填空的问题也已完成。(怎么两三分钟就取消了呢?)都完成了,请查看。本回答被网友采纳
怎样用java编写程序求n!,并且n的值由键盘输入。


import java.util.Scanner;
//递归法求,eclipse编译通过
public class Test {
public static void main(String srag[]){
int num = 0;
while(true){
System.out.println("请输入一个正整数:");
Scanner sc = new Scanner(System.in);
num = sc.nextInt();
if(num>=0) break;
}//如果输入的为正整跳出循环
System.out.println(num + "!=" + jc(num));
}
static int jc(int a){
if(a==1) return 1;
else{
return a*jc(a-1);
}
}//递归法求阶乘
}public static void main(String[] args) {//主
Scanner input=new Scanner(System.in);//扫描
int n=input.nextInt();//从键盘输入n的值
int result=1;
for(int i=1;i<=n;i++){
result=result*i;//定义阶乘的算法
}
System.out.print(result);//输果
}你会java多少?
n!可以用循环,也可以用递归。
由键盘输入用Scanner ,
这样明白没追问

这学期才接触,之前学过C。会设计算法,就是在输入并且检测输入的值是否正确这块不会编了。追答

等会IU,我写给你看下,
下面有兄弟写了,你看看吧