用C语言写函数,分别实现完成两个数的交换、判断闰年、判断素数
2019-03-28 22:31
204 查看
将之前讨论过的问题用函数实现,包括:交换两个数、判断闰年及判断素数问题。
1、完成两个数的交换。
重点:因为形参是实参的一份拷贝,所以直接对形参操作不能影响实参的值,必须要通过传指针的方式,通过间接访问操作来修改函数外的变量。
实现代码:
#include<stdio.h> #include<stdlib.h> void Swap(int*x,int*y) { int tmp = *x; *x= *y; *y= tmp; } int main() { int a = 5; int b = 15; Swap(&a,&b); printf("%d %d\n", a, b); system("pause"); return 0; }
运行结果:
2、判断一个年份是不是闰年。
这个问题比较简单,记住闰年的判断条件就不难实现。
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> int IsLeapYear(int year) { if (year % 4 == 0 && year % 100 != 0) { return 1; } if (year % 400 == 0) { return 1; } return 0; } int main() { int year; printf("请输入一个年份:\n"); scanf("%d",&year); int a= IsLeapYear(year); if (a == 0) { printf("%d年不是闰年\n", year); } else if (a == 1) { printf("%d年是闰年\n", year); } system("pause"); return 0; }
运行结果:
3、输入一个数,判断是不是素数。
重点:写代码时不能只考虑输入正常的情况,包括输入为0、1和负数的情况也需要考虑。
实现代码:
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> int IsPrime(int num) { if (num <= 0) { //用户输入的数不合法 return 0; } if (num == 1) { return 0; } for (int i = 2; i < num; ++i) { if (num%i == 0) { return 0; } } return 1; } int main() { int num; printf("请输入一个数:\n"); scanf("%d",&num); int a=IsPrime(num); if (a == 0) { printf("%d不是素数\n", num); } else if (a == 1) { printf("%d是素数\n", num); } system("pause"); return 0; }
相关文章推荐
- n*n乘法口诀表,两个数交换(函数),判断闰年(函数),数组操作,判断素数(函数)
- 实现一个函数,1打印乘法口诀表(可更改行列),2交换两数,3判断是否闰年,4判断是否素数。
- 设计函数实现素数判断,闰年判断,交换变量,打印自定义乘法表
- 函数(输出乘法口诀、交换两个数、判断闰年、创建数组、判断素数)
- C语言-使用函数实现两个数的交换
- C语言使用函数实现两个数的交换。
- 【面试题】C语言:实现一个函数,判断一个数是不是素数。
- c语言:实现一个函数,判断一个数是不是素数。
- C语言实现一个函数判断year是不是闰年。
- C语言实现判断素数,回文数,水仙花数,闰年
- 使用函数实现两个数的交换(C语言)
- 用C语言实现:打印100~200之间的素数;输出乘法口诀表;判断1000年-2000年之间的闰年
- 【面试题】C语言:使用函数实现两个数的交换
- 【面试题】C语言:实现一个函数,判断一个数是不是素数。
- 函数实现乘法表,两数交换,判断闰年,初始、逆置、清空数组
- C语言实现一个函数判断是不是素数
- C语言:实现一个函数判断year是不是闰年
- 【面试题】C语言:使用函数实现两个数的交换
- C语言 使用函数实现两个数的交换
- C语言:实现一个函数判断year是不是闰年