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

问题一百一十四:数日子

[plain]  描述 
 
光阴似箭,日月如梭,大学的时间真是宝贵,要抓紧时间AC^_^,你知道今天是这一年第几天吗,掐指一算还是要算好久,呵呵还是让计算机来做吧。这里的问题就是让你来写一个程序,输入某年某月某日,判断这一天是这一年的第几天?  
 
输入 
 
输入数据有多组,第一行是数据的组数n,下面n行是n组数据,每组数据由3个正整数组成,分别为年、月、日,我们保证每组数据都是有效的日期。 
 
输出 
 
输出所输入的日期是这一年的第几天。 
 
样例输入 
 
 

2009 1 1 
2008 1 3 
 
样例输出 
 
 

描述

光阴似箭,日月如梭,大学的时间真是宝贵,要抓紧时间AC^_^,你知道今天是这一年第几天吗,掐指一算还是要算好久,呵呵还是让计算机来做吧。这里的问题就是让你来写一个程序,输入某年某月某日,判断这一天是这一年的第几天?

输入

输入数据有多组,第一行是数据的组数n,下面n行是n组数据,每组数据由3个正整数组成,分别为年、月、日,我们保证每组数据都是有效的日期。

输出

输出所输入的日期是这一年的第几天。

样例输入


2
2009 1 1
2008 1 3

样例输出


1
3
 


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

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

   sum+=day;

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

   printf("%d", sum);

   if(num>0)
   {
       printf("\n");
   }
  }


     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
部分文章来自网络,