Hdu_哪一天?

#include<stdio.h>

#include<cstring>

 

#define N 12  //一行数据的最大长度

int whichDay(int year , int month ,int day ); //求该年该月该日的天数

int getLine(char s[],int lim);//读入一整行数据
 int main(){
 int flag1=0; char date[N];  
 int length=0;  
 while(n=getLine(date,N)){
  printf("%s",date);
  int year=0,month=0,day=0;
  for(int i=0;i<n;i++){
   if(date[i]==‘/‘){
    if(flag1==0){
     flag1=1;
    }else if(flag1==1){
     flag1=2;
    }
   }
   if(flag1==0){
    year=(date[i]-‘0‘)+year*10;
   }
   if(flag1==1){
    month=(date[i]-‘0‘)+month*10; 
   }
   if(falg1==2){
    day=date[i](date[i]-‘0‘)+day*10;
   }
  }
  int sum=whichDay(year,month,day);
  printf("%d\n",sum);
 } 
}
int  whichDay(int year , int month ,int day ){
 int days[12]={31,28,31,30,31,30,31,31,30,31,30,31};
 //判定是否是闰年
 if((year%4==0&&year%100!=0)||(year%400==0)){
  days[1]=29;
 } 
 //计算天数
 int sum=0; 
 for(int i=0;i<month-1;i++){
  sum+=days[i];
 }
 sum+=day;
 return sum;
}
int getLine(char s[],int lim){
 int i=0,c;  //i为该行中的字符长度,c记录读到的字符
 while(--lim>0 && (c=getchar()!=EOF) && c!=‘\n‘){
  s[i++]=c;
 } 
 if(c==‘\n‘){
  s[i++]=c;
 }
    s[i]=‘\0‘;
    return i;
}

*注:在该题中输入为 YYYY/MM/DD,一般可用scanf("%d/%d/%d",&year ,&month, &day);上述方法读入更有通用性。

时间: 2024-10-05 23:09:39

Hdu_哪一天?的相关文章

HDU_杭电ACM_2058

今天做了一道简单的数学题算法 ac代码 : #include <stdio.h> #include <math.h> // int main() { int N,M,i,j; while(scanf("%d%d",&N,&M) && M+N) { for(j=pow(2.0*M,0.5);j>=1;j--) //区间长度最短为1;j*j<2m,所以,j从sprt(2*m)开始 { i=(2*M/j-j+1)/2;//i

HDU_开灯问题

1 #include<stdio.h> 2 #include<string.h> 3 4 int a[1002]={1}; 5 6 int main() 7 { 8 int n,i,j,k,t; 9 10 scanf("%d%d",&n,&k); 11 12 for(i=1;i<=n;i++) 13 { 14 a[i]=1; 15 } 16 for(j=2;j<=k;j++) 17 { 18 for(t=1;t<=n;t++)

HDU_(1010) Tempter of the Bone(DFS,剪枝)

题目请点我 题意: 有一个迷宫,看能不能经过T秒恰好从起点走到终点.因为可能会考虑到绕路,2^49可能会超时(况且涉及到绕路,墙的数目一定不会很多),我们就可以在每次都进行一次判断,看剩下的时间能否走到终点.另外因为只能在T秒走到,那么绕路的话一定会多走偶数步数,利用这个性质也可以剪枝.这道题其实之前做过的,但是第二次做还是TLE了很多次,其实这题的关键不仅是dfs,在T秒恰好到达需要绕路才是这道题的亮点,trap也在这里. 代码: #include <iostream> #include &

hdu_状压dp

题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5816 大牛的链接: http://www.cnblogs.com/WABoss/p/5754721.html 1 #include <algorithm> 2 #include <iostream> 3 #include <cstring> 4 #include <cstdlib> 5 #include <cstdio> 6 #include <

hdu_吃糖果(思维题)

吃糖果 Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 37428    Accepted Submission(s): 10748 Problem Description HOHO,终于从Speakless手上赢走了所有的糖果,是Gardon吃糖果时有个特殊的癖好,就是不喜欢将一样的糖果放在一起吃,喜欢先吃一种,下一次吃另一种,这样:可