
高手帮帮忙做几道c语言编程题 急求
1、编写程序,求1-3+5-7+……-99+101的值。2、编写程序,求e的值。e=1+1/1!+1/2!+1/3!+1/4!+……+1/n!。(1)用for循环,计算前...
1、编写程序,求1-3+5-7+……-99+101 的值。
2、编写程序,求e的值。e=1+1/1!+1/2!+1/3!+1/4!+……+1/n!。
(1)用for循环,计算前50项。
(2)用while循环,要求直至最后一项的值小于10的-4次幂
3、编写函数,根据整形参m的值,计算如下公式的值。
t=1-1/(2*2)-1/(3*3)-……1/(m*m)
若m=5,则输出0.536389 展开
2、编写程序,求e的值。e=1+1/1!+1/2!+1/3!+1/4!+……+1/n!。
(1)用for循环,计算前50项。
(2)用while循环,要求直至最后一项的值小于10的-4次幂
3、编写函数,根据整形参m的值,计算如下公式的值。
t=1-1/(2*2)-1/(3*3)-……1/(m*m)
若m=5,则输出0.536389 展开
5个回答
展开全部
1.#include<stdio.h>
void main()
{
int max(int x,int y,int z); //声明求最大值的函数
int a,b,c,d; //定义变量
scanf("%d,%d,%d",&a,&b,&c); //输入三个整数
d=max(a,b,c); //求三个整数的最大值
printf("max=%d\n",d); //输出最大值
}
int max(int x,int y,int z) //定义函数
{
int max;//定义变量
max=x; //赋初值
if(max<y) max=y; //如果max小于y,则max=y
if(max<z) max=z; //如果max小于z,则max=z
return(max); //返回最大值
}
2.自己看c里的循环语句可以解决的
把式子中分母设为N 循环加1,乘以上次的值赋给式子,再,加起来赋给和,循环推出条件判断(可设为没个式子的值小于某个值时推出循环 ,你试着有WHILE做吧
3.#include<stdio.h>
void main()
{
int m,i;
float a,b,c;
a=0;
scanf("%d",&m);
for(i=2;i<=m;i++)
{c=i*i;
a=1/c+a;
}
b=1-a;
printf("T=1-1/(2*2)-1/(3*3)……1/(%d*%d)=%f\n",m,m,b);
}
void main()
{
int max(int x,int y,int z); //声明求最大值的函数
int a,b,c,d; //定义变量
scanf("%d,%d,%d",&a,&b,&c); //输入三个整数
d=max(a,b,c); //求三个整数的最大值
printf("max=%d\n",d); //输出最大值
}
int max(int x,int y,int z) //定义函数
{
int max;//定义变量
max=x; //赋初值
if(max<y) max=y; //如果max小于y,则max=y
if(max<z) max=z; //如果max小于z,则max=z
return(max); //返回最大值
}
2.自己看c里的循环语句可以解决的
把式子中分母设为N 循环加1,乘以上次的值赋给式子,再,加起来赋给和,循环推出条件判断(可设为没个式子的值小于某个值时推出循环 ,你试着有WHILE做吧
3.#include<stdio.h>
void main()
{
int m,i;
float a,b,c;
a=0;
scanf("%d",&m);
for(i=2;i<=m;i++)
{c=i*i;
a=1/c+a;
}
b=1-a;
printf("T=1-1/(2*2)-1/(3*3)……1/(%d*%d)=%f\n",m,m,b);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一题:
int i,sum,iFlag;
iFlag = 1;
sum = 0;
for (i=1;i<102;i+=2)
{
sum+=(i*iFlag);
iFlag *= -1;
}
// 打印结果
printf("result=%d",sum);
第二题:
(1):
double e,jc;
int i,j;
// 计算前50项
e=1;
for(i=1;i<51;i++)
{
jc=1;
// 计算阶乘
for(j=2;j<=i;j++)
{
jc*=j;
}
e+=(1/jc);
}
// 打印结果
printf("e=%f",e);
(2):
double e;
int j,jc,k;
e = 1;
jc = 1;
k=1;
// 要求直至最后一项的值小于10的-4次幂
while ((1/jc)>0.0001)
{
e+=(1/jc);
// 计算阶乘
k++;
jc = 1;
j=2;
while (j<=k)
{
jc*=j;
j++;
}
}
// 打印结果
printf("e=%f",e);
第三题:
double calcT(int m)
{
int i;
double dblResult=0;
// 检查参数
if (m<1) {
printf("error parameter!");
return -1;
}
// 判断,如果参数为1则直接返回1.0;
if (m== 1)
return 1.0;
// 根据公式计算
dblResult = 1.0;
for (i = 2;i<=m;i++)
{
dblResult -= ((double)1/(i * i));
}
// 返回结果
return dblResult;
}
int i,sum,iFlag;
iFlag = 1;
sum = 0;
for (i=1;i<102;i+=2)
{
sum+=(i*iFlag);
iFlag *= -1;
}
// 打印结果
printf("result=%d",sum);
第二题:
(1):
double e,jc;
int i,j;
// 计算前50项
e=1;
for(i=1;i<51;i++)
{
jc=1;
// 计算阶乘
for(j=2;j<=i;j++)
{
jc*=j;
}
e+=(1/jc);
}
// 打印结果
printf("e=%f",e);
(2):
double e;
int j,jc,k;
e = 1;
jc = 1;
k=1;
// 要求直至最后一项的值小于10的-4次幂
while ((1/jc)>0.0001)
{
e+=(1/jc);
// 计算阶乘
k++;
jc = 1;
j=2;
while (j<=k)
{
jc*=j;
j++;
}
}
// 打印结果
printf("e=%f",e);
第三题:
double calcT(int m)
{
int i;
double dblResult=0;
// 检查参数
if (m<1) {
printf("error parameter!");
return -1;
}
// 判断,如果参数为1则直接返回1.0;
if (m== 1)
return 1.0;
// 根据公式计算
dblResult = 1.0;
for (i = 2;i<=m;i++)
{
dblResult -= ((double)1/(i * i));
}
// 返回结果
return dblResult;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1. #include<stdio.h>
int main()
{
int num, s,sum;
num = 1;
s = -1;
sum = num;
while(num != 101)
{
num += 2;
sum += s * num;
s = -s;
}
printf("sum=%d\n",sum);
return 0;
}
2 #include<stdio.h>
long factorial(int n);
int main()
{
int i;
double add,e = 1.0;
for(i = 1; i < 10; i++)
{
add = 1.0 / factorial(i);
e += add;
}
printf("e=%f\n",e);
return 0;
}
long factorial(int n)
{
long r = 1;
while(n>0)
{
r *= n;
n--;
}
return r;
}
照着写吧
int main()
{
int num, s,sum;
num = 1;
s = -1;
sum = num;
while(num != 101)
{
num += 2;
sum += s * num;
s = -s;
}
printf("sum=%d\n",sum);
return 0;
}
2 #include<stdio.h>
long factorial(int n);
int main()
{
int i;
double add,e = 1.0;
for(i = 1; i < 10; i++)
{
add = 1.0 / factorial(i);
e += add;
}
printf("e=%f\n",e);
return 0;
}
long factorial(int n)
{
long r = 1;
while(n>0)
{
r *= n;
n--;
}
return r;
}
照着写吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个:
int sum = 0, i = 1, sign = 1;
for (i = 1; i <= 101; i = i + 2)
{
sum = sum + sign * i;
sign = -sign;
}
int sum = 0, i = 1, sign = 1;
for (i = 1; i <= 101; i = i + 2)
{
sum = sum + sign * i;
sign = -sign;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1, (1+101)/2*((101-1)/4+1)-(3+101)/2*(99-1)/2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询