南阳理工oj-75 日起计算

原创 2018年04月15日 11:00:38

日期计算

时间限制:3000 ms  |  内存限制:65535 KB 
难度:1
描述 
如题,输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天。
输入
第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每行的输入数据都是一个按题目要求格式输入的日期。
输出
每组输入数据的输出占一行,输出判断出的天数n
样例输入
3
2000 4 5
2001 5 4
2010 10 24
样例输出
96
124
297

代码:

#include <stdio.h>
int count(int year,int month,int day){
    int sum=0,i,month1[12]={31,28,31,30,31,30,31,31,30,31,30,31};
    if((year%4==0&&year%100!=0)||year%400==0){
        month1[1]=29;
    }
    else
        month1[1]=28;
    for (i=0; i<month-1; i++) {
        sum+=month1[i];
    }
    for (i=1; i<=day; i++) {
        sum++;
    }
    return sum;
}
int main(){
    int year,month,day,N;
    scanf("%d",&N);
    while (N--) {
        scanf("%d %d %d",&year,&month,&day);
        printf("%d\n",count(year, month, day));
    }
    return 0;
}

思路:计算天数最重要是就是要区分闰年和平年中2月的区别,判断闰年的方法就是看他是否能被4整除但是不能被100整除,不过如果能被400整除他也是闰年,闰年里2月有29天。

在定义的计算天数的函数中一开始设定了一个数组,int month1[12]; 这个数组的目的就是为了明确每个月具体天数,一开始假设是平年,将平年每个月的天数赋值给他,然后看是判断是否是闰年是闰年的话2月改成29天如果不是的话就依旧是28天。

接下来就开始计算题是第几天,也可以说是总天数,显示将这个月之前每个月的天数都加给计算天数的sum;这个月不满,所以这个月的天数单独计算,设定了个for循环如果i小于等于day的话就让sum++;这样便将总天数算了出来最后在主函数中调用即可。

南阳理工ACM_题目23

描述 一天,TT在寝室闲着无聊,和同寝的人玩起了取石子游戏,而由于条件有限,他/她们是用旺仔小馒头当作石子。游戏的规则是这样的。设有一堆石子,数量为N(1 输入第一行是一个正整数n表示有n组测试数...
  • image_seg
  • image_seg
  • 2016年03月17日 17:02
  • 614

南阳理工ACM第8题

 一种排序 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复;还知道这个长方形的宽和长,编...
  • jianghubazhu
  • jianghubazhu
  • 2014年08月17日 20:59
  • 534

表达式求值(南阳理工—35)

表达式求值 时间限制:3000 ms  |  内存限制:65535 KB 难度:4              描述 ACM队的mdd想做一个计算器,但是,他要做的不仅仅是一计算一个A+B的计算器,...
  • xiangkaijie
  • xiangkaijie
  • 2017年08月24日 10:15
  • 122

南阳理工acm 106背包问题(排序+贪心)

背包问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1...
  • qq_37164003
  • qq_37164003
  • 2017年05月18日 08:23
  • 118

南阳理工学院ACM语言入门题目39水仙花数的思考与代码

水仙花数题目39的思考,思路与源代码
  • LiuJiuXiaoShiTou
  • LiuJiuXiaoShiTou
  • 2016年07月31日 15:55
  • 658

南阳理工ACM 题目22 素数求和问题

素数求和问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:2      描述 现在给你N个数(0...
  • CORA_S_T
  • CORA_S_T
  • 2017年04月15日 19:16
  • 352

南阳理工oj题目练习---ASCII码排序

我的算法: #include #include using namespace std; int main() { int N,flag=0; char s[4],temp; mem...
  • eldn__
  • eldn__
  • 2012年11月15日 22:11
  • 1899

南阳理工学院oj_喷水装置(一)

#include #include #include using namespace std; int main() { int n; while(cin >> n){ while(n--){...
  • qq_24751851
  • qq_24751851
  • 2015年05月07日 14:23
  • 462

南阳理工OJ_题目20 吝啬的国度

#include #include #include #include using namespace std; void bfs(); struct data { int v...
  • u010204038
  • u010204038
  • 2014年05月14日 20:42
  • 750

括号配对问题 (南阳理工oj-题目2)

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=2 括号配对问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:...
  • jiyi_xiaoli
  • jiyi_xiaoli
  • 2017年06月01日 19:19
  • 491
收藏助手
不良信息举报
您举报文章:南阳理工oj-75 日起计算
举报原因:
原因补充:

(最多只允许输入30个字)