C语言程序:计算月份天数、判断素数和完全数
C语言程序:计算月份天数、判断素数和完全数
1. 计算月份天数
代码示例:
#include<stdio.h>
int main() {
int year, month, days;
printf("请输入年份和月份:");
scanf("%d%d", &year, &month);
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
case 2:
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
days = 29;
} else {
days = 28;
}
break;
default:
printf("输入的月份有误!\n");
return 0;
}
printf("%d年%d月有%d天。\n", year, month, days);
return 0;
}
程序说明:
- 使用
switch语句判断月份,对于 31 天的月份,直接赋值为 31,对于 30 天的月份,赋值为 30,对于 2 月份需要判断是否是闰年,如果是,则赋值为 29,否则赋值为 28。 - 如果输入的月份不在 1-12 之间,则输出错误信息。
2. 判断素数
代码示例:
#include<stdio.h>
#include<stdbool.h>
boolean isPrime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (isPrime(num)) {
printf("%d是素数。\n", num);
} else {
printf("%d不是素数。\n", num);
}
return 0;
}
程序说明:
- 使用自定义函数
isPrime来判断一个整数是否是素数。 - 如果这个数小于等于 1,则不是素数,直接返回
false。 - 否则,从 2 开始到这个数的平方根,依次判断是否能整除这个数,如果能整除,则不是素数,返回
false。 - 如果没有找到能整除的数,则是素数,返回
true。 - 在主函数中,先输入要判断的整数,然后调用
isPrime函数进行判断,最后输出结果。
3. 判断完全数
代码示例:
#include<stdio.h>
int main() {
int num, sum = 0;
printf("请输入一个整数:");
scanf("%d", &num);
for (int i = 1; i < num; i++) {
if (num % i == 0) {
sum += i;
}
}
if (sum == num) {
printf("%d是完全数。\n", num);
} else {
printf("%d不是完全数。\n", num);
}
return 0;
}
程序说明:
- 使用一个循环来找出
num的所有真因子,并计算它们的和。 - 如果和等于
num本身,则说明num是完全数,输出相应信息。 - 否则,说明
num不是完全数,输出相应信息。
原文地址: https://www.cveoy.top/t/topic/gvhW 著作权归作者所有。请勿转载和采集!