您的位置:首页 > 编程语言 > C语言/C++

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

2015-08-01 10:28 344 查看
请使用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:第一次没有编出来,下次编程要草稿纸写算法!!!!!!!!!!!!!!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C语言