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;
}