当前位置:   article > 正文

C语言经典编程282例14 (阶乘、最大公约数与最小公倍数等)_任意数的n次幂求解:分别从键盘输入底数与次幂,求出该底数的本次幂结果与后续5个+1

任意数的n次幂求解:分别从键盘输入底数与次幂,求出该底数的本次幂结果与后续5个+1

116 输出两个数中的最大值

设计一个求最大值的函数,在屏幕上输入两个数,输出其中的最大值。

int max(int a, int b)
{
	int temp;
	//此处可以改为:temp = a > b? a:b;
	if(a > b)
	{
		temp = a;
	}
	else
	{
		temp = b;
	}
	return temp;
}

main()
{
	int a, b, c;
	scanf("%d%d", &a, &b);
	c = max(a, b); 
	printf("max = %d\n", c);
	
	printf("\n");
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

117 判断素数

编写一个判断素数的函数,实现输入一个整数,使用判断素数的函数进行判断!

将判断素数的代码模块化,更容易移植

int sprime(int x)
{
	int i, flag = 1;
	for(i = 2; i <= x / 2; i++)
	{
		if(x % i == 0)
		{
			flag = 0;
		}
	}
	
	return flag;
}

main()
{
	int x;
	scanf("%d", &x);
	
	if(sprime(x))
	{
		printf("该数是素数\n");
	}
	else
	{
		printf("该数不是素数\n");
	}
	
	printf("\n");
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

118 递归解决年龄问题

有5个人坐一起,问等5个人多大?他说比第4个人大2岁,问第4个人,他说比第三人大2岁,问第3个人,他说比第二人大2岁,问第2个人,他说比第一人大2岁,问最后一人,他说是10岁,编写程序,当输入第几个人时求出其对应年龄。

首先要明确递归要有一个最终界限,不然就会无止尽执行下去,这里的界限就是第一个时,年龄为10;,这样就采取倒推方式,来进行编写代码。


int age(int n)
{
	int m;
	if(n == 1)
	{
		m = 10;
	}
	else
	{
		m = age(n - 1) + 2;
	}
	
	return m;
}

main()
{
	int n, m;
	scanf("%d", &n);

	m = age(n);
	printf("第%d个,age = %d", n, m);
	printf("\n");
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

119 递归解决分
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/326272

推荐阅读
相关标签