算法练习题01:月份天数

【问题描述】

输入年份和月份,输出该年该月共有多少天(需要考虑闰年)

【输入格式】

输入两个整数year和month,表示年和月。

【输出格式】

一个整数,表示该年该月的天数。

【输入样例1】

1926 8

【输出样例1】

31

【输入样例2】

2000 2

【输出样例2】

29

我的答案:烂

复制代码
#include<stdio.h>
int main(){
	int y;
	int m;
	int a1 = 29;
	int a2 = 28;
	int a3 = 30;
	int a4 = 31; 
	scanf("%d",&y);
	scanf("%d",&m);
	switch(m){
		case 1:{
			printf("%d",a4);
			break;
		}
		case 2:{
			if(y%4==0&&y%100!=0||y%400==0){
				printf("%d",a1);
			}
			else{
				printf("%d",a2);
			}
			break;
		}
		case 3:{
			printf("%d",a4);
			break;
		}
		case 4:{
			printf("%d",a3);
			break;
		}
		case 5:{
			printf("%d",a4);
			break;
		}
		case 6:{
			printf("%d",a3);
			break;
		}
		case 7:{
			printf("%d",a4);
			break;
		}
		case 8:{
			printf("%d",a4);
			break;
		}
		case 9:{
			printf("%d",a3);
			break;
		}
		case 10:{
			printf("%d",a4);
			break;
		}
		case 11:{
			printf("%d",a3);
			break;
		}
		case 12:{
			printf("%d",a4);
			break;
		}
	}
} 

老师答案:

复制代码
#include<iostream>
using namespace std;

// 判断是否为闰年的函数
bool leap(int year) {
    return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}

int main() {
    int feb, year, month;
    int day;

    cin >> year >> month;

    // 判断闰年,确定二月的天数
    if (leap(year)) {
        feb = 29;
    } else {
        feb = 28;
    }

    // 根据月份确定天数
    switch (month) {
        case 1: case 3: case 5: case 7: case 8: case 10: case 12:
            day = 31;
            break;
        case 4: case 6: case 9: case 11:
            day = 30;
            break;
        case 2:
            day = feb;
            break;
        default:
            cout << "Invalid month" << endl;
            return 1; // 返回非零值表示错误
    }

    cout << day << endl;
    return 0;
}
相关推荐
智驱力人工智能8 小时前
工厂智慧设备检测:多模态算法提升工业安全阈值
人工智能·算法·安全·边缘计算·智慧工厂·智能巡航·工厂设备检测
2501_9247314711 小时前
城市路口识别准确率↑31%!陌讯时空建模算法在交通拥堵识别中的突破
人工智能·算法·目标检测·计算机视觉·目标跟踪
熬了夜的程序员11 小时前
【华为机试】208. 实现 Trie (前缀树)
数据结构·算法·华为od·华为
小O的算法实验室13 小时前
2024年ESWA SCI1区TOP,自适应种群分配和变异选择差分进化算法iDE-APAMS,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
不吃洋葱.14 小时前
左子树之和
算法
金融小师妹15 小时前
基于AI量化模型的比特币周期重构:传统四年规律是否被算法因子打破?
大数据·人工智能·算法
数据智能老司机16 小时前
图算法趣味学——最短路径
数据结构·算法·云计算
快去睡觉~16 小时前
力扣109:有序链表转换二叉搜索树
算法·leetcode·链表
gopher_looklook16 小时前
Go并发实战:singleflight 源码解读与二次封装
数据结构·后端·go
是Dream呀16 小时前
YOLOv8深度解析:从架构革新到应用实践
人工智能·算法