(菜鸟)一个可用的多功能函数集合(实现闰年判断,自定义乘法表打印,交换两个数,判断一个数是否是素数)

本文详细介绍了一款C语言程序,包含打印自定义乘法表、两数交换、闰年判断及素数检测等实用功能。通过案例演示,加深了读者对函数调用和流程控制的理解。

> 这算是第一个比较完整的程序吧!注意,不可单独拆开,输入程序在主函数中,,引用单一功能,需要从case中引用;

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<Windows.h>
#include<math.h>
int mul(int _num) {      //打印自定义乘法表
	for (int line = 1; line <= _num; line++) {
		for (int arr = 1; arr <= line; arr++) {
			printf("%d*%d=%d ", line, arr, line*arr);
		}
		printf("\n");
	}
	return 0;
}
int Swap(int *num1, int *num2) {
	int t = *num1;
	*num1 = *num2;
	*num2 = t;
	return 0;
}
int look_year(int _year) {          //判断是否是闰年
	if ((_year % 4 == 0 && _year % 100 != 0) || _year % 400 == 0) {
		printf("%d 是闰年\n", _year);
		return 0;
	}
	else {
		printf("%d 不是闰年\n", _year);
	}
	return 0;
}
int de_su(int data) {     //判断是否是素数
	int t;
	int a = (int)sqrt((double)data);
	for (int i = 2; i < a; i++) {

		//	t = data % i;

		if (0 == data % i) {
			return 0;
		}
	}
	return 1;
}
int main() {
	int z = 7;
	float c = sqrt(z);
	printf("%f\n", c);
	printf("1.实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定\n");
	printf("输入9,输出9*9口诀表,输入12,输出12*12的乘法口诀表\n");
	printf("2.使用函数实现两个数的交换。 \n");
	printf("3.实现一个函数判断year是不是润年\n");
	printf("4.实现一个函数,判断一个数是不是素数\n");
	begain:         //重新选择功能
	printf("\n\n###############请选择一个功能:");
	int n;
	scanf("%d", &n);
	//n = 4;
	switch (n) {
	case 1: {         //打印乘法表
		int num;
		printf("请输入需要打印的乘法表大小:\n");
		scanf("%d", &num);
		mul(num);
		goto begain;   //重新选择功能

	}
			break;
	case 2: {          //使用函数实现两个数的交换
		printf("\n请输入一对数:");
		int x = 0, y = 0;
		scanf("%d%d", &x, &y);
		printf("before\nnum1______:%d\nnum2______:%d\n", x, y);
		Swap(&x, &y);
		printf("-------------------------------------------\n");
		printf("after:\nnum1______:%d\nnum2______:%d\n", x, y);
		goto begain;   //重新选择功能

	}
			break;
	case 3: {        //3.实现一个函数判断year是不是润年
		printf("请输入需要查询的那一年:");
		int year = 0;
		scanf("%d", &year);
		look_year(year);
		goto begain;   //重新选择功能

	}
			break;
	case 4: {       //4.实现一个函数,判断一个数是不是素数
		int num, j = 0;
		printf("请输入一个数:");
		scanf("%d", &num);
		//num = 7;
		j = de_su(num);
		if (j == 1) {
			printf("%d是素数\n", num);
		}
		else {
			printf("%d不是素数\n", num);
			goto begain;   //重新选择功能

		}

	}
			break;
	case 5: {
		printf("#############################");
		printf("         已退出程序           ");
		printf("#############################");
		break;
	}
			break;
	default: {
		printf("输入错误,请重新输入");
		goto begain;   //重新选择功能
	}
			 break;
	}


	system("pause");
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值