生成一个4位数年份的数组,并利用函数判断其中的闰年
- 数组元素作为函数参数
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 10
int is_leap(int); // 判断是否为闰年
int main()
{
int year[N], leap_year[N], i, j = 0; //leap_year中存储闰年
srand(time(NULL)); // 初始化种子
for(i = 0; i < N; i++)
{
year[i] = rand()%9000 + 1000;
if (is_leap(year[i])) // year数组中的元素作为参数,传递给is_leap函数
{
leap_year[j] = year[i];
j++;
}
}
// 输出原始数组元素
printf("原始数组为:");
for(i = 0; i < N; i++)
printf("%d", year[i]);
// 输出闰年数组元素
printf("\n闰年数组为:");
for (i = 0; i < N; i++)
printf("%d", leap_year[i]);
return 0;
}
int is_leap(int y)
{
if (y % 400 == 0 ||
(y % 4 == 0 && y % 100 != 0))
return 1;
else
return 0;
}
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
31
32
33
34
35
36
37
38
39
40
41
42
2. 整个数组作为函数的参数
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 10
int is_leap(int); // 判断是否为闰年
void print_array(int[], int); // 输出一个数组
int main()
{
int year[N], leap_year[N], i, j = 0;
srand(time(NULL)); // 初始化种子
for(i = 0; i < N; i++)
{
year[i] = rand()%9000 + 1000;
if (is_leap(year[i]))
{
leap_year[j] = year[i];
j++;
}
}
// 输出原始数组元素
printf("原始数组为:");
print_array(year, N); //整个数组作为函数参数
// 输出闰年数组元素
printf("\n闰年数组为:");
print_array(leap_year, j); //整个数组作为函数参数
return 0;
}
int is_leap(int y)
{
if (y % 400 == 0 ||
(y % 4 == 0 && y % 100 != 0))
return 1;
else
return 0;
}
void print_array(int a[N], int len)
{
int i;
for (i = 0; i < len; i++)
printf("%6d", a[i]);
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
————————————————
版权声明:本文为优快云博主「杨丰玉」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/frueyang/article/details/103084039