杭电 -- 2005

题目

思路

就是要注意这题的一些坑,输入部分需要想好。

这道题目有3个需要注意的地方:
1.输入格式。可以直接在scanf()里面写成“YYYY/MM/DD”格式,这样读取的时候会自动过滤掉那些斜杠。而不用以字符串输入,再以斜杠为标志转换为数字。

2.需要判断该年是否为闰年。若为闰年,则二月有29天,否则二月有28天。本代码的写法是把每月的天数都事先存在ds[]数组里,由于二月天数不确定,所以先判断是否为闰年,然后再给二月天数赋值。

3.如果总天数写在while()循环外面,则每次计算完总天数后,要把total值赋0,否则会产生累加效果。若total的定义写在while()外面,则不需要赋0。

注:本题目注意部分(踩坑),源自 -- https://blog.csdn.net/hehe5229/article/details/58622042

代码

#include<stdio.h>

int main(){
    int ds[12] = {31,28,31,30,31,30,31,31,30,31,30,31}; //非闰年 2月天数为28
    int year,month,day,total;
    while(scanf("%d/%d/%d",&year,&month,&day)!=EOF){
        total = 0;
        if( ((year % 100 != 0) && (year % 4 == 0)) || year%400==0)
            ds[1] = 29;
        else
            ds[1] = 28;
        for(int i=0;i<month-1;i++){
            total += ds[i];
        }
        total += day;
        printf("%d\n",total);
    }
    return 0;
}

原文地址:https://www.cnblogs.com/kyrie211/p/11140927.html

时间: 2024-10-16 21:13:49

杭电 -- 2005的相关文章

杭电2005(第几天?)java字符串水过

点击打开杭电2005 1.split的应用:将字符串以某某字符为界划分为多个字符串 2.面向对象的编程 Problem Description 给定一个日期,输出这个日期是该年的第几天. Input 输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的. Output 对于每组输入数据,输出一行,表示该日期是该年的第几天. Sample Input 1985/1/20 2006/3/12 Sample Out

杭电2005

1 #include <iostream> 2 #include <string> 3 using namespace std; 4 5 int main() 6 { 7 int year,month,day; 8 9 char a; 10 int days_of_month1[13] = {0,31,29,31,30,31,30,31,31,30,31,30,31};//闰年 11 int days_of_month2[13] = {0,31,28,31,30,31,30,31,

杭电ACM题目分类

杭电ACM题目分类 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028. 1029.1032.1037.1040.1048.1056.1058.1061.1070.1076.1089.1090.1091.1092. 1093.1094.1095.1096.1097.1098.1106.1108.1157.1163.1164.1170.1194.1196. 1197.1201.1202.1205.1219.1234.123

杭电OJ(HDU)-ACMSteps-Chapter Two-《An Easy Task》《Buildings》《decimal system》《Vowel Counting》

http://acm.hdu.edu.cn/game/entry/problem/list.php?chapterid=1§ionid=2 1.2.5 #include<stdio.h> /* 题意:找闰年. if((i%4==0 && i%100!=0) || i%400==0)count++; 3 2005 25 1855 12 2004 10000 2108 1904 43236 */ int main() { int t,y,n; int i,count=0; whil

杭电 1421 搬寝室

搬寝室 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 15897    Accepted Submission(s): 5389 Problem Description 搬寝室是很累的,xhd深有体会.时间追述2006年7月9号,那天xhd迫于无奈要从27号楼搬到3号楼,因为10号要封楼了.看着寝室里的n件物品,xhd开始发呆,因为n

杭电 1196

Lowest Bit Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 7776    Accepted Submission(s): 5715 Problem Description Given an positive integer A (1 <= A <= 100), output the lowest bit of A. For

下沙的沙子有几粒?(杭电1267)

下沙的沙子有几粒? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 2823    Accepted Submission(s): 1480 Problem Description 2005年11月份,我们学校参加了ACM/ICPC 亚洲赛区成都站的比赛,在这里,我们获得了历史性的突破,尽管只是一枚铜牌,但获奖那一刻的激动,也许将永远铭

杭电 2710(水题)

Max Factor <span size="+0"><strong><span style="font-family:Arial;font-size:12px;color:green;FONT-WEIGHT: bold">Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s):

杭电 1232

畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 30434    Accepted Submission(s): 15993 Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标是使全省任何两个城镇间都可以实现交通(但不一定有