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 不是完全数,输出相应信息。
C语言程序:计算月份天数、判断素数和完全数

原文地址: https://www.cveoy.top/t/topic/gvhW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录