解题思路:


愉快的心情才能使自己身心投入!
每题笑话: 蹲坑的时候,手机只剩6%的电了,我寻思用完所有电就擦屁股走人。 看了一会这坨,老爸好像内急敲门:儿子好了没有啊。 我不假思索地回了句:马上,还有2%。 老爸嘟嚷着:球孩子,读了点书,拉个屎还能精确百分比了。


注意事项:


注意事项:学精C语言,必须在做题时尽量用比别人少的代码完成任务!


参考代码:

#include<stdio.h>
#include<math.h>
double x,n,i,sum=0;
double fact(double n);
double mypow(double x,double n);
int main()
{
scanf("%lf%lf",&x,&n);
for(i=1;i<=n;i++)
{
sum+=pow(-1,i-1)*mypow(x,i)/fact(i);
}
printf("%.4f\n",sum);
return 0;
}
double fact(double n)
{
double j=1,s1=1.0;
while(j<=i)
{
s1=s1*j;
j++;
}
return s1;
}
double mypow(double x,double n)
{
double s2=0;
s2=pow(x,n);
return s2;
}

有不懂得可以留言!看在小的这么用心的份上,看客老爷们点个赞吧!

点赞(18)
 

0.0分

6 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 14 条评论

MaRk 5年前 回复TA
@啊哈627 是交错级数不是正项级数
p0p08 5年前 回复TA
@小雨 factor返回n为整型 应该为double型 在factor函数那里再加个double a=n; 把循环的n改成a 返回a就好了
小雨 5年前 回复TA
错误50%,求解问题出在哪儿
#include<stdio.h>
#include<stdlib.h>

double fact(int n)
{
    int i;
    for(i=n-1;i>1;i--)
        n*=i;
    return n;
}
double mypow(double x,int n)
{
    int i;double y;
    for(i=0,y=1;i<n;i++)
        y*=x;
    return y;
}
int main()
{
    double x,sum=0;int n,i;
    scanf("%lf%d",&x,&n);
    for(i=1;i<=n;i++)
        sum+=mypow(-1,i-1)*mypow(x,i)/fact(i);
    printf("%.4lf\n",sum);
    return 0;
}
javaersang 5年前 回复TA
#include"stdio.h"
#include"math.h"
double fact(double n)
{
	if(n==1)
		return 1;
	else
	return n*fact(n-1);
}
double my(double n,double x)
{
	return pow(x,n);
}
void main()
{
	double i,x,n,s=0;
	scanf("%lf %lf",&x,&n);
	for(i=1;i<=n;i++)
	{
		s=s+pow(-1.0,i-1)*my(x,i)/fact(i);
	}
	printf("%.4lf",s);
}

答案为什么错了   求解
啊哈627 5年前 回复TA
这个代码是哪里错了吗?通过不了
#include<stdio.h>
long double fact(int n)
{
	long double	m;
	if(n == 1) return n;
	return m = n * fact( n - 1);
}
long double mypow(long double x, int n)
{ 
	int i;
	long double s = 1;
	for( i = 0; i < n; i++)
		s = s * x;
		if(n % 2 == 0) 
		{
			s = -s;
			}
		
	return s;
}
int main()
{
	int n, j;
	long double x, sum = 0;
	scanf("%lf%d",&x, &n);
	for(j = 1; j <= n; j++)
	{
	sum = sum + mypow(x, j) / fact(j);
	

	}
	printf("%.4Lf",sum);
return 0;
}
科比你来 5年前 回复TA
@独行侠 @a1020151695 这是声明函数,如果你把函数定义写在主函数前面可以不用写声明
fenny 6年前 回复TA
while(j<=i)应该写成while(j<=n)吧
saitama 6年前 回复TA
@独行侠 调用函数放在前面为了什么。。
saitama 6年前 回复TA
@那个人 嗯哼
那个人 6年前 回复TA
@那个人 我知道为什么了,我的i不应该写成全局变量,改成局部变量够结果是对的