C语言计算某天是一年中的第几天(熟练使用状态位flag)

请使用switch语句和if...else语句,计算2008年8月8日这一天,是该年中的第几天。


/**************************************
*author: Yang Xu
*assignment: switch test
***************************************/

#include<stdio.h>
#include<process.h>

int main()
{
    int year=2008;
    int month=8;
    int day=8;
    int num, flag;//使用flag作为是否为闰年的状态位
    //swtich语句直接累加天数,并先假设为平年
    switch(month)
    {
    case 1: num=0;break;
    case 2: num=31;break;
    case 3: num=59;break;
    case 4: num=90;break;
    case 5: num=120;break;
    case 6: num=151;break;
    case 7: num=181;break;
    case 8: num=212;break;
    case 9: num=243;break;
    case 10: num=273;break;
    case 11: num=304;break;
    case 12: num=334;break;
    }
    num+=day;//计算总天数
    //判断是否为闰年
    if(year%4==0&&year%100!=0||year%400==0)
        flag=1;
    else
        flag=0;
    if(flag==1&&month>2)//如果是闰年且大于二月,再加一天即可
        num++;//灵活使用自增运算符
    printf("%d年%d月%d日是本年的第%d天\n", year, month,
        day, num);//C语言可以任意换行,而不需要续行符
    system("pause");
    return 0;    
}


注意:

1、有判断语句时要看情况熟练使用flag状态位

2、灵活使用自增运算符

3、C语言可以任意换行,而不需要续行符

PS:第一次没有编出来,下次编程要草稿纸写算法!!!!!!!!!!!!!!!!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值