提高第18课时,实践3,当年第几天(数组方案)
2015-05-09 19:35
246 查看
/* *Copyright(c) 2015/5/8 CSDN博客 *All rights reserved. *文件名称:main.c *作 者:金叶 *完成日期:2015/5/8 *版本号:V1.0 *问题描述:项目3-当年第几天(数组方案) *当年第几天中定义一个函数,其参数为年、月、日的值,返回这一天为该年的第几天。 要求在main函数中输入年月日,然后调用这个函数求值,并在main函数中输出结果。 */ #include <stdio.h> int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; //定义一年中的月份天数,第1个是0天的初值 int date (int d ,int m, int y); int main() { int iDay,iMonth,iYear;//定义 日 月 天 int iDate; do{ printf("输入年 月 日:"); scanf("%d %d %d",&iYear,&iMonth,&iDay); iDate=date(iYear,iMonth,iDay); printf("这是该年的第%d天\n\n\n",iDate); } while (1); return 0; } int date(int y ,int m,int d) { int i; int iDate=0; int iDate1=0; for (i=0;i<m;i++){ iDate+=month[i]; } iDate1=iDate+d; if (((y%4==0&&y%100!=0)||(y%400==0))&&m>=3){ iDate1+=1; } return iDate1; }
之前有个小小的BUG
闰年的2月29日 这一天不会被算进去 修改了一下 现在应该OK了
相关文章推荐
- 提高第18课时,实践1,数组大作战
- 提高篇第十六讲项目3-当年第几天(数组方案)
- 《C语言及程序设计》实践参考——当年第几天(数组方案)
- 提高项目14-当年第几天(数组方案)
- 提高篇编程项目 第十九讲项目二/三 成绩处理 当年第几天(数组方案)
- 提高第24课时,实践1,项目1-翻转数组
- 提高第21课时,实践3,有序数组中插入数据 (第2种方法)
- 提高第18课时,实践4,扑克牌
- 提高第18课时,实践5,发奖金
- 第16-19章项目3-当年第几天(数组方案)
- 提高第18课时,实践2,成绩处理
- 提高第27课时,实践3,项目3-数组的排序
- 提高第21课时,实践3,有序数组中插入数据
- 提高第26课时,实践1,项目1-有序数组中插入数据(函数版)
- 提高第31课时,实践1,项目1-M$pszi$y是嘛意思?
- 提高第6课时,实践1,k次方之和
- C语言提高-39讲: 动态存储管理与动态数组的实现(实践)
- 提高第38课时,实践1,用命令行运行程序
- 数组求,某年某月某天是当年的的第几天
- 提高第24课时,实践2,成绩处理V2.0 数组指针版