第几天?
来源:互联网 发布:大师兄 知乎 编辑:程序博客网 时间:2024/05/17 06:46
第几天?
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 100727 Accepted Submission(s): 37744
Problem Description
给定一个日期,输出这个日期是该年的第几天。
Input
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input
1985/1/202006/3/12
Sample Output
2071
这道题涉及到c语言的输入的运用, scanf()函数的格式化输入,在c语言中,scanf()和printf()都是格式化的,分别表示格式化的输入和格式化的输出,即,在scanf()和printf()里面的 引号(" ")里面,你设置的格式是什么样的,它就应该是什么样的,在输入时就必须照着那个格式输入,在输出时他自动按照你要求的那个格式输出!
附上代码
#include<stdio.h>#define pi 3.1415927int main(){ int nian,yue,ri,da; while(scanf("%d/%d/%d",&nian,&yue,&ri)==3) // 格式化输入,因为输入格式的要求,所以需要把输入格式控制下{ da=ri; // da 表示结果,记录第几天, if((nian%4==0&&nian%100!=0||nian%400==0)&&yue>2) da+=1; // 下面的二月按照28天计算,这里如果是闰年,且月份大于二月,则需要加上闰年二月多的那一天 if(yue>1) da+=31; if(yue>2) da+=28; if(yue>3) da+=31; if(yue>4) da+=30; if(yue>5) da+=31; if(yue>6) da+=30; if(yue>7) da+=31; if(yue>8) da+=31; if(yue>9) da+=30; if(yue>10) da+=31; if(yue>11) da+=30; // 是第几月,就把前面的每一月的天数都加上 printf("%d\n",da); } return 0;}
0 0
- 第几天
- 【第几天?】
- 第几天?
- 第几天
- 第几天?
- 第几天
- 第几天
- 第几天?
- 第几天
- 第几天
- 第几天?
- 第几天
- 第几天?
- 第几天
- 第几天
- 第几天?
- 第几天?
- 第几天
- 重温常见排序法
- 计算两点间的距离
- MyEclipse 10连接SQL Server 2008数据库
- 1027. 打印沙漏(20)
- LeetCode---Remove Duplicates from Sorted List II
- 第几天?
- Android 命名规范 (提高代码可以读性)
- 起凡 群雄逐鹿 改键器 连发器 神器 v1.4
- 开启ubuntu默认root的权限(su: Authentication failure)
- 蟠桃记
- Android Api Demos登顶之路(104)View-->Custom
- 基于用户的协同过滤算法的讨论
- 利用Linux系统函数实现线程池(C++)
- 母牛的故事