C语言常见模块类代码总结

1、递归实现阶乘计算

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//递归实现阶乘计算
long factorial(int num) {
if (num == 1)
return num;
else
return num * factorial(num - 1);
}

int main() {
int num;
scanf("%d", &num);
printf("%ld", factorial(num));
return 0;
}

2、用递归实现十进制转二进制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//用递归实现十进制转二进制
void to_binary(int num) {
int r;
r = num % 2;
if (num >= 2)
to_binary(num / 2);
putchar((r == 0) ? '0' : '1');
}

int main() {
int num;
scanf("%d", &num);
to_binary(num);
return 0;
}

3、判断是否为闰年

1
2
3
4
5
#define  _CRT_SECURE_NO_WARNINGS 1
// 判断是否为闰年
int isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}

4、判断是否为素数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#define  _CRT_SECURE_NO_WARNINGS 1
#include <math.h>
int isPrime(int num) {
if (num <= 1) return 0;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) return 0;
}
return 1;
}

int prime(int x)//求素数函数,素数返回 1,否则返回 0
{
int i;
for (i = 2; i <= sqrt(x); i++)
if (x % i == 0) return(0);
return(1);