C语言实现:计算月份天数、判断素数、打印九九乘法表上三角

1. 输入年份和月份,输出该月对应的天数

#include<stdio.h>

int main(){
    int year, month, days;
    printf("请输入年份和月份:\n");
    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 语句来根据月份计算天数,对于2月份需要判断是否为闰年。如果是闰年则有29天,否则有28天。闰年的判断方法是:能被4整除但不能被100整除,或者能被400整除。

2. 输入一个整数,判断该数是否是素数

#include<stdio.h>

int is_prime(int n){//自定义函数,判断n是否为素数
    int i;
    if(n <= 1){
        return 0;//小于等于1的数不是素数
    }
    for(i = 2; i * i <= n; i++){//从2到n的平方根遍历
        if(n % i == 0){
            return 0;//能被整除的数不是素数
        }
    }
    return 1;//是素数
}

int main(){
    int n;
    printf("请输入一个整数:\n");
    scanf("%d", &n);
    if(is_prime(n)){
        printf("%d是素数。\n", n);
    } else {
        printf("%d不是素数。\n", n);
    }
    return 0;
}

代码中使用了自定义函数 is_prime 来判断一个数是否为素数。对于一个大于1的数n,从2到n的平方根遍历,如果能被整除,则不是素数,否则是素数。

3. 用C语言打印九九乘法表的上三角

#include<stdio.h>

int main(){
    int i, j;
    for(i = 1; i <= 9; i++){//外层循环控制行数
        for(j = i; j <= 9; j++){//内层循环控制列数
            printf("%d*%d=%2d ", i, j, i * j);//%2d表示占两位,左对齐
        }
        printf("\n");//每行结束后换行
    }
    return 0;
}

代码中使用了两层循环,外层循环控制行数,内层循环控制列数。在内层循环中打印每个乘积,使用了 %2d 来表示占两位,左对齐。每行结束后换行。由于上三角和下三角是对称的,因此只需要打印上三角即可。

C语言实现:计算月份天数、判断素数、打印九九乘法表上三角

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

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