当前位置:编程学习 > C/C++ >>

问题一百一十五:第几天

[plain]  Description 
 
给定一个日期,输出这个日期是该年的第几天。  
 
Input 
 
输入数据有多组,每组占一行,数据格式为YYYY-MM-DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。 
 
Output 
 
对于每组输入数据,输出一行,表示该日期是该年的第几天。 
 
Sample Input 
 
 
2000-01-01 
 
Sample Output 
 
 

Description

给定一个日期,输出这个日期是该年的第几天。

Input

输入数据有多组,每组占一行,数据格式为YYYY-MM-DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。

Output

对于每组输入数据,输出一行,表示该日期是该年的第几天。

Sample Input


2000-01-01

Sample Output


1
 


[plain] #include <stdio.h> 
 
int cheakyear(int year); 
 
int main() 
{     
     int i; 
     int flag; 
     int year; 
     int month; 
     int day; 
     int sum; 
     int array[13]={ 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; 
    
     while(scanf("%d-%d-%d", &year, &month, &day)!=EOF) 
     {  
         sum=0; 
         flag=cheakyear(year); 
 
         for(i=0; i<month; i++) 
         { 
            sum+=array[i]; 
         } 
 
         sum+=day; 
 
         if(flag && month>2) 
         { 
            sum++; 
         } 
 
         printf("%d\n", sum); 
 
     } 
     return 0; 
}  
 
int cheakyear(int year) 

    int flag; 
     
    flag=0; 
 
    if((year%400==0) || (year%100!=0 && year %4==0)) 
    { 
        flag=1; 
    } 
 
    return flag; 

#include <stdio.h>

int cheakyear(int year);

int main()
{   
     int i;
  int flag;
  int year;
  int month;
  int day;
  int sum;
  int array[13]={ 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  
  while(scanf("%d-%d-%d", &year, &month, &day)!=EOF)
  {
   sum=0;
   flag=cheakyear(year);

         for(i=0; i<month; i++)
   {
      sum+=array[i];
   }

   sum+=day;

   if(flag && month>2)
   {
      sum++;
   }

   printf("%d\n", sum);

  }
     return 0;
}

int cheakyear(int year)
{
    int flag;
 
 flag=0;

 if((year%400==0) || (year%100!=0 && year %4==0))
 {
     flag=1;
 }

 return flag;
}
 

 

\

 

补充:软件开发 , C语言 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,