鱼C论坛

 找回密码
 立即注册
查看: 793|回复: 5

[已解决]帮帮小白吧

[复制链接]
发表于 2020-10-26 20:08:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
int main(){
    int y,m,day_num;
    scanf("%d %d",&y,&m);
    printf(((y%4==0&&y%100!=0)||y%400==0)?"leap\n":"not leap\n");   
    if(m>2&&m<6) printf("spring\n");
    else if (m>5&&m<9) printf("summer\n");
    else if (m>8&&m<11) printf("autumn\n");
    else printf("winter\n");

     switch(m){               
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:day_num=31;break;  
            case 4:
            case 6:
            case 9:
            case 11:day_num=30;break;   
            case 2:if(y%4==0&&y%100!=0||y%400==0) day_num=29;   
                    else day_num=28;break;                    
        default:printf("error data");
    }
    printf("days=%d",day_num);            
    return 0;
    }
怎么改动下,输入年份 月份时(当月份不为1-12月),程序运行结果直接就是error data
最佳答案
2020-10-26 20:13:09
#include<stdio.h>
int main(){
    int y,m,day_num;
    scanf("%d %d",&y,&m);
    if(m<1||m>12)
    {
         printf("error data");
         exit(0);
     }
    printf(((y%4==0&&y%100!=0)||y%400==0)?"leap\n":"not leap\n");   
    if(m>2&&m<6) printf("spring\n");
    else if (m>5&&m<9) printf("summer\n");
    else if (m>8&&m<11) printf("autumn\n");
    else printf("winter\n");

     switch(m){               
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:day_num=31;break;  
            case 4:
            case 6:
            case 9:
            case 11:day_num=30;break;    
            case 2:if(y%4==0&&y%100!=0||y%400==0) day_num=29;   
                    else day_num=28;break;                    
        default:printf("error data");
    }
    printf("days=%d",day_num);            
    return 0;
    }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-26 20:13:09 | 显示全部楼层    本楼为最佳答案   
#include<stdio.h>
int main(){
    int y,m,day_num;
    scanf("%d %d",&y,&m);
    if(m<1||m>12)
    {
         printf("error data");
         exit(0);
     }
    printf(((y%4==0&&y%100!=0)||y%400==0)?"leap\n":"not leap\n");   
    if(m>2&&m<6) printf("spring\n");
    else if (m>5&&m<9) printf("summer\n");
    else if (m>8&&m<11) printf("autumn\n");
    else printf("winter\n");

     switch(m){               
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:day_num=31;break;  
            case 4:
            case 6:
            case 9:
            case 11:day_num=30;break;    
            case 2:if(y%4==0&&y%100!=0||y%400==0) day_num=29;   
                    else day_num=28;break;                    
        default:printf("error data");
    }
    printf("days=%d",day_num);            
    return 0;
    }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-26 20:16:14 | 显示全部楼层
我前些时候帮人写的一个小程序,给你参考
// 编写一个计算天数的程序,用户从键盘中输入年、月、日,在屏幕中输出此日期是该年的第几天。

#include<stdio.h>
void main()
{
    int i,year,month,day,days = 0;
    int array[12] = {31,29,31,30,31,30,31,31,30,31,30,31};
    scanf("%d%d%d",&year,&month,&day);
        if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
        {
            array[1] = 28;
        }
        
        for (i = 1;i <= 12;i++)    // 计算上个月之前的天数
        {
            days += array[i - 1];
                if(month == i)
                {
                    days -= array[i - 1]; 
                        break;
                }
        }
    days += day;              // 计算今天之前的天数

    printf("输入日期是今年的第 %d 天", days);
    printf("\n");

}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-26 20:22:19 | 显示全部楼层

加的内个exit(0)是啥意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-26 20:24:22 | 显示全部楼层
936241151 发表于 2020-10-26 20:22
加的内个exit(0)是啥意思

就是退出整个运行阶段
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-26 20:25:22 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 20:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表