C语言练习题(六)

今日题目

1.实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,输入9,输出99口诀表,输入12,输出1212的乘法口诀表。
2.实现一个函数,用来实现两个数的交换。
3.实现一个函数判断year是不是闰年。
4.实现一个函数,判断一个数是不是素数。

看看今天的题目,可以看见乘法口诀表、交换两个数、判断闰年、判断素数都是之前写过的内容,但是今天的考点是要用函数来实现这些功能,意思就是将代码用函数封装起来,在我们要用的时候直接调用就好了。我们经常使用的库函数就是大佬们将常用的功能用代码实现并封装成函数,我们直接拿来用不要太方便

使用函数封装代码有哪些好处?

  • 使程序变得更简短、清晰(提高了代码的可读性)
  • 提高了代码的复用性 (代码复用)
  • 提高了程序开发的效率
  • 有利于程序的维护

1.打印乘法表

int MulTable(int n) {
	int i = 0;
	int j = 0;
	for (i = 1; i <= n; i++) {
		for (j = 1; j <= i; j++) {
			printf("%d*%d=%-4d", j, i, i*j);
		}
		printf("\n");
	}
	return 0;
}

我们来调用一下刚刚写的乘法表函数

#include<stdio.h>
#include<stdlib.h>

int main() {
	MulTable(9);
	system("pause");
	return 0;
}

运行结果:
99乘法表

#include<stdio.h>
#include<stdlib.h>

int main() {
	MulTable(12);
	system("pause");
	return 0;
}

运行结果:
12*12乘法表
不仅准确无误的实现了题目要求的功能,代码写起来也太短了吧!(舒服~)

2.交换两个数

void swap(int* x,int* y) {
	int tmp = *x;
	*x = *y;
	*y = tmp;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>

int main() {
	int num1 = 0;
	int num2 = 0;
	scanf("%d %d", &num1, &num2);
	swap(&num1,&num2);
	printf("num1=%d num2=%d\n", num1, num2);
	system("pause");
	return 0;
}

运行结果:
在这里插入图片描述
为什么这里要用到指针呢?因为形参是实参的拷贝,形参的改变不影响实参

3.判断闰年

void IsLeapYear(int year) {
	if (year % 4 == 0 && year % 100 != 0) {
		printf("%d年是闰年\n", year);
	}
	if (year%400 == 0) {
		printf("%d年是闰年\n", year);
	}
	else{
		printf("%d年不是闰年\n", year);
	}
}
int main() {
	int year = 2001;
	IsLeapYear(year);
	system("pause");
	return 0;
}

运行结果:
在这里插入图片描述

int main() {
	int year = 2000;
	IsLeapYear(year);
	system("pause");
	return 0;
}

运行结果:
在这里插入图片描述
4.判断一个数是不是素数

void IsPrime(int num) {
	int i = 0;
	if (num < 2){
		printf("%d不是素数\n", num);
	}
	for (i = 2; i < num; i++) {
		if (num%i == 0){
			printf("%d不是素数\n", num);
			break;
		}
		else{
			printf("%d是素数\n", num);
		}
	}

}
#include<stdio.h>
#include<stdlib.h>

int main() {
	int num = 0;
	IsPrime(num);
	system("pause");
	return 0;
}

运行结果:
在这里插入图片描述

#include<stdio.h>
#include<stdlib.h>

int main() {
	int num = 4;
	IsPrime(num);
	system("pause");
	return 0;
}

运行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值