C语言每日一题——第四天

第四天

小明这两天写代码有些累。。他差点忘记了9月30日的下一天是十月一日……于是决定写一个程序告诉他每个月有多少天。

执行:main.exe A

输出:

31

输入

程序通过命令行参数输入获取参数,参数仅有一个,代表月份。你无需理会错误输入。

为了方便输入,将数字统一移动64个,即 ASSCII 码表为 65 的符号(即A)代表数字1。

输出

当月长度,2月固定为平年长度,即28天。

关键

if 结构的用法,逻辑指令运用


解答

#include <stdio.h>
#include <iso646.h>


int main(int cnt, char **argv) {
    int month;
    
    if (cnt != 1) {
        // 数量不正确, 说明输入错误, 这时程序停止运行, 返回 -1
        printf("Input value error!\n");
        return -1;
    }
    
    // 获取用于计算的日期
    month = (int) (*argv[1]) - 64;
    
    if (month == 1 or month == 3 or month == 5 or month == 7 or month == 8 or month == 10 or month == 12) {
        printf("31\n");
    } else if (month == 2) {
        printf("28\n");
    } else {
        printf("30\n");
    }
    
    return 0;
}
posted @ 2022-10-01 00:39  风吹云动  阅读(112)  评论(0编辑  收藏  举报