YTU 2715: 函数---判断某年某月某日是这一年中的第几天
2715: 函数---判断某年某月某日是这一年中的第几天
时间限制: 1 Sec 内存限制: 128 MB
提交: 380 解决: 155
题目描述
在主程序(main)中输入某年某月某日,例如2012 9 18(年月日之间用空格隔开), 调用函数dayth来得到某年某月某日是这一年中是第几天。
注意 在利用dayth函数前要调用isValid_date函数来判断日期是合法的。
dayth函数和isValid_date函数声明如下:
int isValid_date(int year,int month,int day); //判断日期(年月日)是否合法的函数声明,如果日期合法返回1,如果不合法返回0
int dayth(int year,int month,int day); //获取日期(年月日)是本年中的第几天的函数声明
在以下程序的基础上,添加isValid_date函数和dayth函数的定义,使程序能够正确执行。
提交时,只需要提交isValid_date函数和dayth函数的定义代码即可。
#include <iostream>
using namespace std;
int isValid_date(int year,int month,int day); //判断日期(年月日)是否合法的函数声明,如果日期合法返回1,如果不合法返回0
int dayth(int year,int month,int day); //获取日期(年月日)是本年中的第几天的函数声明
int main()
{
int y,m,d; //定义3个变量分别来存放输入的年、月、日
cin>>y>>m>>d;
if(isValid_date(y,m,d) ==0)
cout<<"not valid"<<endl;
else
cout<<dayth(y,m,d)<<endl;
return 0;
}
输入
一个日期(年 月 日)
输出
如果该日期和法则输出该日期是本年中的第几天,如果该日期不合法输出提示信息
例如 输入2002 3 1 输出 60 输入2008 2 30 输出not valid
样例输入
2002 3 1
样例输出
60
你 离 开 了 , 我 的 世 界 里 只 剩 下 雨 。 。 。
#include <iostream>
using namespace std;
int isValid_date(int year,int month,int day); //判断日期(年月日)是否合法的函数声明,如果日期合法返回1,如果不合法返回0
int dayth(int year,int month,int day); //获取日期(年月日)是本年中的第几天的函数声明
int main()
{
int y,m,d; //定义3个变量分别来存放输入的年、月、日
cin>>y>>m>>d;
if(isValid_date(y,m,d)==0)
cout<<"not valid"<<endl;
else
cout<<dayth(y,m,d)<<endl;
return 0;
}
int a[12]= {31,28,31,30,31,30,31,31,30,31,30,31};
int isValid_date(int year,int month,int day)
{
if((year%4==0&&year%100!=0)||year%400==0)a[1]+=1;
if(month>12||month<1||day>a[month-1]||day<1)return 0;
else return 1;
}
int dayth(int year,int month,int day)
{
int b,s=0;
if((year%4==0&&year%100!=0)||year%400==0)a[1]=29;
for(b=0; b<month-1; b++)
s+=a[b];
s+=day;
return s;
}
#include <iostream>
using namespace std;
int isValid_date(int year,int month,int day); //判断日期(年月日)是否合法的函数声明,如果日期合法返回1,如果不合法返回0
int dayth(int year,int month,int day); //获取日期(年月日)是本年中的第几天的函数声明
int main()
{
int y,m,d; //定义3个变量分别来存放输入的年、月、日
cin>>y>>m>>d;
if(isValid_date(y,m,d)==0)
cout<<"not valid"<<endl;
else
cout<<dayth(y,m,d)<<endl;
return 0;
}
int a[12]= {31,28,31,30,31,30,31,31,30,31,30,31};
int isValid_date(int year,int month,int day)
{
if((year%4==0&&year%100!=0)||year%400==0)a[1]+=1;
if(month>12||month<1||day>a[month-1]||day<1)return 0;
else return 1;
}
int dayth(int year,int month,int day)
{
int b,s=0;
if((year%4==0&&year%100!=0)||year%400==0)a[1]=29;
for(b=0; b<month-1; b++)
s+=a[b];
s+=day;
return s;
}
YTU 2715: 函数---判断某年某月某日是这一年中的第几天的更多相关文章
- C++风格写判断某年某月某日是一年的第几天
初学C++,在结构体中写函数及一些C++语言需要的一些格式 看代码 #include<iostream>#include<cstdio>using namespace std; ...
- python中输入某年某月某日,判断这一天是这一年的第几天?
输入某年某月某日,判断这一天是这一年的第几天?程序分析 特殊情况,闰年时需考虑二月多加一天: 直接上代码 #定义一个函数,判断是否为闰年 def leapyear(y): return (y % 40 ...
- # 【Python3练习题 004】输入某年某月某日,判断这一天是这一年的第几天?
# [Python练习题 004]输入某年某月某日,判断这一天是这一年的第几天? # 思路:先判断是否为闰年,这关系到 2 月份的天数.# 之后再根据月份值把前几个月的天数累积加起来,最后再加上个“日 ...
- python3 输入某年某月某日,判断这一天是这一年的第几天?
题目 输入某年某月某日,判断这一天是这一年的第几天? 程序分析 特殊情况,闰年时需考虑二月多加一天. 代码: import calendar year = int(input("Year:& ...
- iOS - 日期的时间差(某年某月某日的某一天。。。)
//首先创建格式化对象 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateF ...
- 使用feof()函数判断文件是否结束
课本上时这样写的:(用putchar(ch);代表对取出来的字符的处理.) while(!feof(fp)) { ch=fgetc(fp); putchar(ch); } 但是,这样写的话,fgetc ...
- Python startswith() 函数 判断字符串开头
Python startswith() 函数 判断字符串开头 函数:startswith() 作用:判断字符串是否以指定字符或子字符串开头 一.函数说明语法:string.startswith(str ...
- PHP array_key_exists() 函数(判断某个数组中是否存在指定的 key)
定义和用法 array_key_exists() 函数判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false. 语法 array_key_exists(ke ...
- php 在linux 用file_exists() 函数判断 另外一台服务器映射过来的文件是否存在 总是返回false
php 在linux 用file_exists() 函数判断 另外一台服务器映射过来的文件是否存在 总是返回false .如下案例 $type="android"; $url=&q ...
随机推荐
- 配置redis三主三从
主从环境 centos7.6 redis4.0.1 主 从 192.168.181.139:6379 192.168.181.136:6379 192.168.181.136:6380 192.168 ...
- JAVA基础——Date和Calendar类
1计算某一月份的最大天数 Calendar time=Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR,year); //yea ...
- Java:冒泡排序 | 二分查找
2018-10-29 20:16:46 冒泡排序 例子(对数字排序): 假设有这样一组数字:32, 8, 128, 2, 64 现在对其进行冒泡排序(*表示下次比较的开始数字): 32>8? t ...
- python下载网络文件
python下载网络文件 制作人:全心全意 下载图片 #!/usr/bin/python #-*- coding: utf-8 -*- import requests url = "http ...
- Python进阶-操作redis
1.String 操作 redis中的String在在内存中按照一个name对应一个value来存储 set() #在Redis中设置值,默认不存在则创建,存在则修改 r.set('name', 'z ...
- 2.Linux文件IO编程
2.1Linux文件IO概述 2.1.0POSIX规范 POSIX:(Portable Operating System Interface)可移植操作系统接口规范. 由IEEE制定,是为了提高UNI ...
- HDU 5115 (2014ACM/ICPC亚洲区北京站) D题(Dire Wolf)
题目传送门 设dp[i][j]为杀掉区间i到j之间的狼需要付出的最小代价,那么dp[i][j]=min{dp[i][k-1]+dp[k+1][j]+a[k]+b[i-1]+b[j+1]} Java代码 ...
- Spring SpEL 各种写法示例
项目路径 先说一下三个bean都有哪些属性 Address.java private String city;//城市 private String street;//街道 Car.java priv ...
- codeforces 371B - Fox Dividing Cheese
#include<stdio.h> int count; int gcd(int a,int b) { if(b==0) return a; return gcd(b,a%b); ...
- poj 2823 二分法+单调队列
#include<stdio.h> #include<string.h> #define N 1100000 int a[N]; int fmin[N],fmax[N]; i ...