头文件head.h
#pragma once
#include <math.h>
#include <stdio.h>
//1. 打印100~200 之间的素数
void PrintPrime(int min, int max);
//2. 输出乘法口诀表
void PrintMulTable(int n);
//3. 判断1000年-- - 2000年之间的闰年
void PrintLeap(int min, int max);
test.c
#include "head.h"
int IsPrime(int n) {
// 一个数不能够被2到他的平方根的所有数整除,它为素数
int key = (int)sqrt(n);
for (int t = 2; t <= key; t++) {
if (n % t == 0) {
break;
}
if (t == key) {
return 1;
}
}
return 0;
}
void PrintPrime(int min, int max) {
int count = 0;
for (int n = min; n <= max; n++) {
if (IsPrime(n) == 1) {
printf("%d是素数 ", n);
count++;
}
}
printf("一共有%d个素数", count);
return;
}
void PrintMulTable(int n) {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= i; j++) {
printf("%d*%d=%2d ", j, i, i*j);
}
printf("\n");
}
return;
}
//普通闰年:能被4整除但不能被100整除的年份为普通闰年。
//(如2004年就是闰年,1900年不是闰年);
//世纪闰年 : 能被400整除的为世纪闰年。
//(如2000年是世纪闰年,1900年不是世纪闰年);
int IsLeap(int n) {
if ((n % 4 == 0 && n % 100 != 0) || n % 400 == 0) {
return 1;
}
return 0;
}
void PrintLeap(int min, int max) {
int count = 0;
for (int n = min; n <= max; n++) {
if (IsLeap(n) == 1) {
printf("%d是闰年 ", n);
count++;
if (count != 0 && count % 5 == 0) {
printf("\n");
}
}
}
return;
}
Main.c
#include "head.h"
int main() {
PrintPrime(100, 200);
PrintMulTable(9);
PrintLeap(1000, 2000);
return 0;
}