早教吧作业答案频道 -->其他-->
c语言程序编写(初学)(1)利用公式e≈1+1/1!+1/2!+1/3!+…+1/n!,编程序求e的近似值,直到第n项(1/n!)
题目详情
c语言程序编写(初学)
(1) 利用公式e≈1+1/1!+1/2!+1/3!+…+1/n!, 编程序求e的近似值,直到第n项(1/n!)<10-6为止。
提示:
a)利用二重循环编程实现,其中内层循环求n!,外层循环进行累加求和;
b)外层循环终止条件:(1/n!)<10-6。
(2) 编写一个简单计算器程序,输入格式为:data1 op data2.其中data1和data2是参加运算的两个数,op为运算符,其取值只能是+、-、*、/。
提示:根据op的取值使用switch语句实现计算功能。
(1) 利用公式e≈1+1/1!+1/2!+1/3!+…+1/n!, 编程序求e的近似值,直到第n项(1/n!)<10-6为止。
提示:
a)利用二重循环编程实现,其中内层循环求n!,外层循环进行累加求和;
b)外层循环终止条件:(1/n!)<10-6。
(2) 编写一个简单计算器程序,输入格式为:data1 op data2.其中data1和data2是参加运算的两个数,op为运算符,其取值只能是+、-、*、/。
提示:根据op的取值使用switch语句实现计算功能。
▼优质解答
答案和解析
a)中用一个循环就行了为啥要用两个捏?
#include "stdio.h"
int main(){
int i,N=1;
double EE=0;
for(i=1;(1.0/N)>1e-6;i++){
N*=i;
EE+=1.0/N;
}
printf("e的值为:%f",EE);
return 0;
}
我又改了下使用两个循环:
#include "stdio.h"
int main(){
int i,j,m=1;
double EE=0;
for(i=1;(1.0/m)>1e-6;i++){
int N=1;
for(j=1;j<=i;j++){
N*=j;
}
EE+=1.0/m;
}
printf("e的值为:%f",EE);
return 0;
}
第二个
#include "stdio.h"
void main(){
float data1,data2;
char op;
printf("请输入计算式:");
scanf("%f%c%f",&data1,&op,&data2);
switch(op)
{
case '+': printf("%f",data1+data2);break;
case '-': printf("%f",data1-data2);break;
case '*': printf("%f",data1*data2);break;
case '/': printf("%f",data1/data2);break;
default:printf("您输入等式有误!退出!\n");
}
}
#include "stdio.h"
int main(){
int i,N=1;
double EE=0;
for(i=1;(1.0/N)>1e-6;i++){
N*=i;
EE+=1.0/N;
}
printf("e的值为:%f",EE);
return 0;
}
我又改了下使用两个循环:
#include "stdio.h"
int main(){
int i,j,m=1;
double EE=0;
for(i=1;(1.0/m)>1e-6;i++){
int N=1;
for(j=1;j<=i;j++){
N*=j;
}
EE+=1.0/m;
}
printf("e的值为:%f",EE);
return 0;
}
第二个
#include "stdio.h"
void main(){
float data1,data2;
char op;
printf("请输入计算式:");
scanf("%f%c%f",&data1,&op,&data2);
switch(op)
{
case '+': printf("%f",data1+data2);break;
case '-': printf("%f",data1-data2);break;
case '*': printf("%f",data1*data2);break;
case '/': printf("%f",data1/data2);break;
default:printf("您输入等式有误!退出!\n");
}
}
看了 c语言程序编写(初学)(1)...的网友还看了以下:
数列1/n*(n+1)的前n项和Sn=(1/1*2)+(1/2*3)+.1/n*(n+1),求Sn 2020-05-14 …
Catalan数公式推导请教如何把下列递归公式f(n)=f(0)*f(n-1-0)+f(1)*(n 2020-06-28 …
1、a1=14a2=-2a(n+2)=2a(n+1)+15an若{a(n+1)+k*an}是等比数 2020-07-09 …
高中数学含有变量的递推公式A1=1,A(n+1)=2An+3^n求{An}的通项公式A1=1,3* 2020-08-01 …
用C语言做到题编写程序,用递归的方法求1+2+3+…+n,可设递归函数为fun()。(1)递归结束 2020-08-01 …
等比数列,求通项公式,((在线等待))!(1)已知,A1=1,An-A(n-1)=1/n(n-1) 2020-08-02 …
通项公式好难的!在线等!求下这个通项公式A(N+1)=2A(N)/1+[A(N)]的平方的通项公式, 2020-11-17 …
1-六分之一加四十二分之一加五十六分之一加七十二分之一=要用公示算.公示如下.因为我根本没听明白这个 2020-11-23 …
1.数列an满足a1=1,且Sn=2an+n,求数列an的通项公式.1.数列an满足a1=1,且Sn 2020-12-05 …
已知数列{an}中,a1=1/2点(n,2a(n+1)-an)在直线y=x上其中n=1,2,3,4, 2020-12-24 …