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:第一次没有编出来,下次编程要草稿纸写算法!!!!!!!!!!!!!!!!
/**************************************
*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:第一次没有编出来,下次编程要草稿纸写算法!!!!!!!!!!!!!!!!
相关文章推荐
- Lua和C语言的交互详解
- 关于C语言中参数的传值问题
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言内存对齐实例详解
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- 探讨C语言的那些小秘密之断言
- C语言实现BMP转换JPG的方法
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- C语言查找数组里数字重复次数的方法
- C语言泛型编程实例教程
- C语言中使用lex统计文本文件字符数
- C语言进制转换代码分享
- 基于C语言fflush()函数的使用详解
- C语言单链队列的表示与实现实例详解
- 关于C语言除0引发的思考
- 深入分析C中不安全的sprintf与strcpy
- Lua教程(四):在Lua中调用C语言、C++的函数
- C语言求幂计算的高效解法