1040-1045答案

1040.递归完成xn次方函数

#include
#include
#include
/*
作者:西理杨同学
*/
int v(int x, int y);
int main()
{
	int a, n, b;
	scanf("%d%d", &a, &n);
	b = v(a, n);
	printf("%d", b);
	return 0;
}
int v(int x, int y)
{
	int i, z;
	if (y == 0)
		z = 1;
	else
		z = v(x, y - 1)*x;
	return z;
}

循环

#include
#include
#include
/*
作者:孤帆远影
*/
int main()
{
	int a, n, i, sum = 1;
	scanf("%d%d", &a, &n);
	for (i = 0; i

1041.完成10进制转2进制

#include
#include
#include
/*
作者:西理杨同学
*/
int main()
{
	int a;
	scanf("%d", &a);
	int a_byte[1000] = { 0 };
	int j = 0;
	int r = a % 2;
	a = a / 2;
	while (a)
	{
		if (r == 1)
		{
			a_byte[j] = 1;
		}
		if (r==0)
		{
			a_byte[j] = 0;
		}
		r = a % 2;
		a = a / 2;
		j++;
	}
	a_byte[j] = 1;
	for (int i = j; i>=0; i--)
		printf("%d ", a_byte[i]);
	return 0;
}

 

1043.递归方法求n阶勒让德多项式的值

pn(x)=1 (n=0)
pn(x)=x (n=1)
pn(x)=((2n-1)*x-pn-1(x)-(n-1).pn-2(x))/n (n≥1)

代码如下:

#include
#include
#include
/*
作者:西理杨同学
*/
double p(int, double);
int main()
{
	int n;
	double x;
	scanf("%d%lf", &n, &x);
	double result = p(n, x);
	printf("%lf", result);
	
	return 0;
}

double p(int n, double x){
	if (n == 0) {
		return 1;
	}
	else if (n == 1){
		return x;
	}
	else if (n>1){
		return ((2 * n - 1)*x - p(n - 1, x) - (n - 1)*p(n - 2, x)) / n;
	}
}

1044.分解一个整数的所有素数因子

#include
#include
#include
/*
作者:老高
*/
void primedec(int m);
int main()
{
	int m;
	scanf("%d", &m);
	primedec(m);
	return 0;
}
void primedec(int m)
{
	int k = 2;
	while (k <= m)
	if (m%k == 0)
	{
		printf("%d ", k);
		m = m / k;
	}
	else
		k++;
}

1045.输出斐波那契数列的前n项

#include
int main()
{
	int a[100]={1,1},i,n;
	scanf("%d",&n);
	for(i=2;i

总结

  • 对于数组和函数的用法要明白,把书看一看
  • 写程序时,把程序分成若干个功能,一个一个完成

你可能感兴趣的:(西理C语言题库答案)