C語言:編程求任意月份的天數


閏年問題,因為二月份的天數與閏年有關。閏年的判斷依據是:若某年能被4整除,但不能被100整除,則這一年是閏年;若某年能被400整除,則這一年也是閏年

#include <stdio.h>
#include <stdlib.h>
main(){ 
    int year, month, days;
    while (1)
    {
    
        printf("輸入年份:");
        scanf("%d",&year);
        if (year==9999)
            break;
        printf("輸入月份:"); 
        scanf("%d", &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");
                exit(1);
                break; 
        } 
        printf("天數:%d\n", days); 
    }
}

 改進1:bz為1時表示月份輸入錯誤,不用輸出天數

#include <stdio.h>
#include <stdlib.h>
main(){ 
    int year, month, days,bz;
    while (1)
    {
        bz=0;
        printf("輸入年份:");
        scanf("%d",&year);
        if (year==9999)
            //break;
            exit(1);
        printf("輸入月份:"); 
        scanf("%d", &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");
                bz=1;
                //exit(1);
                break; 
        } 
        if (bz==0)
               printf("天數:%d\n", days);  
    }
}

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM