输入年月日,推断是该年的第几天,还能够进一步推断从1年開始的第几天

//输入年月日,推断是该年的第几天,还能够进一步推断从1年開始的第几天

#include<iostream>

using namespace std;

int main()

{

int Day(int x,int y,int r);

int Calculate_1(int x,int y,int r);

int Calculate_2(int n);

int n,y,r;/*****************************************************年,月,日,非常明显**/

int x;/*********************************************************推断闰年的标志,x=1是闰年,x=0不是闰年**/

char a;/********************************************************用户输入,是否进一步推断**/

cout<<"请输入"<<endl<<"年,月,日:";

cin>>n>>y>>r;

while(n<=0||n>=10000)/******************************************推断年份是否正确**/

{

cout<<"超出我的计算范围,请输入1~9999之间的年份"<<‘\001‘

<<"请再次输入年份:";

cin>>n;

}

if((n%4==0&&n%100!=0)||n%400==0)/*******************************推断是否是闰年**/

x=1;

else x=0;

while(y>12||y<1)/***********************************************推断月份是否正确**/

{

cout<<"你输入这种月份是在逗我吗???"<<endl

<<"再给你一次输入月份的机会:";

cin>>y;

}

while(Day(x,y,r)==0)

{

cout<<"输入的日子不太对吧?请又一次输入日:"<<endl;

cin>>r;

}

cout<<"你输入的日期是:"<<n<<‘.‘<<y<<‘.‘<<r<<‘.‘<<endl;

cout<<"你输入的日期是该年的第"<<Calculate_1(x,y,r)<<"天."<<endl;/************计算_1*/

cout<<"是否为你计算出是从公元1年開始的第几天???"<<‘(‘<<"Y/N"<<‘)‘;

cin>>a;

int b=1;

while(a!=‘y‘&&a!=‘Y‘&&a!=‘n‘&&a!=‘N‘)

{

cout<<"嘿!怎么输入的?再次输入:";

cin>>a;

++b;

if(b==5)

{

cout<<"我问的是:是否为你计算出是从公元1年開始的第几天???"<<‘(‘<<"Y/N"<<‘)‘<<‘\a‘<<endl;

b=0;

}

}

if(a==‘Y‘||a==‘y‘)

cout<<Calculate_2(n)+Calculate_1(x,y,r)<<endl;/*****************************************************************计算_2*/

else cout<<"那好吧"<<‘\002‘<<endl;

return 0;

}

int Day(int x,int y,int r)/***************************************************************推断日子对不正确**/

{

switch(y)

{

case 2:

{

if(x==1)

{

if(r>0&&r<=29)

return 1;

else return 0;

}

else

{

if(r>0&&r<29)

return 1;

else return 0;

}

}

case 4:case 6:case 9:case 11:

{

if(r>0&&r<31)

return 1;

else return 0;

}

default:

{

if(r>0&&r<=31)

return 1;

else return 0;

}

}

}

int Calculate_1(int x,int y,int r)

{

int a,b;

if(x==1)

a=29;

else a=28;

switch(y)

{

case 1:{b=r;return b;}

case 2:{b=31+r;return b;}

case 3:{b=31+a+r;return b;}

case 4:{b=31+a+31+r;return b;}

case 5:{b=31+a+31+30+r;return b;}

case 6:{b=31+a+31+30+31+r;return b;}

case 7:{b=31+a+31+30+31+30+r;return b;}

case 8:{b=31+a+31+30+31+30+31+r;return b;}

case 9:{b=31+a+31+30+31+30+31+31+r;return b;}

case 10:{b=31+a+31+30+31+30+31+31+30+r;return b;}

case 11:{b=31+a+31+30+31+30+31+31+30+31+r;return b;}

case 12:{b=31+a+31+30+31+30+31+31+30+31+30+r;return b;}

}

}

int Calculate_2(int n)

{

int a=0;

for(int i=1;i<=n;++i)

{

if((i%4==0&&i%100!=0)||i%400==0)

++a;

}

return (n-1)*365+a;

}

输入年月日,推断是该年的第几天,还能够进一步推断从1年開始的第几天

时间: 2024-10-11 21:37:12

输入年月日,推断是该年的第几天,还能够进一步推断从1年開始的第几天的相关文章

输入年月日,判断是该年的第几天,还可以进一步判断从1年开始的第几天

//输入年月日,判断是该年的第几天,还可以进一步判断从1年开始的第几天 #include<iostream> using namespace std; int main() { int Day(int x,int y,int r); int Calculate_1(int x,int y,int r); int Calculate_2(int n); int n,y,r;/*****************************************************年,月,日,很明

输入年月日计算是星期几

偶然的机会看到了一个计算星期几的算法,感觉很怪异并且很有意思就记录一下,也与大家共勉.自己写的代码有些瑕疵,但重点是计算星期的算法值得思索. 问题:输入年月日计算是星期几? 代码如下: #include <stdio.h>int getWeek(int year, int month, int day){ int aWeek[12] = {0,3,2,5,0,3,5,1,4,6,2,4}; int week = 0; int temp = 0; if(year < 1 || month

输入年月日计算出是该年的第多少天

插件和工具介绍内容均收集于网络,太多了就不一一注明了,在此谢过! 1.Charles 为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析.Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析.一个可查看所有HTTP和SSL/HTTPS流量的工具.这款工具对于你测试和服务器端进行交互的应用非常有用 2.xScope xScope带有六种不同的工具,帮助每一个设计者快速.精确的完成工作,这些工具功能灵活.强大,包括∶量

编程题:用函数实现,用户输入年月日,来计算出该日期为当年第几天?

#include<stdio.h> /*函数is_leap_year()的返回值是判断该年是否闰年*/ int is_leap_year(int year) { int leap; if(year%4==0&&year%100!=0||year%400==0) leap=1; else leap=0; return leap; } /*函数len_of_month()的返回值为某年year的某月month的天数*/ int len_of_month(int year,int m

30.输入年月日,判断它是该年的第多少天

(1)运用swicth语句 #include<iostream> using namespace std; int main() { int y,m,d; int d1; int sum=0,sum1=0; cout<<"please input year,month,day: "<<endl; cin>>y>>m>>d; if(((y%4==0)&&(y%100!=0))||(y%400==0))

Practice:输入年月日,判断为一年的第几天

#-*- coding:utf-8 -*-'''Created on 2015-6-7# 输入年月日,判断为一年的第几天@author: AdministrInputator'''# strInput = '150223'# a = int(strInput[-2:])# print(a)def leapYear(year): # 判断平闰年,由于输入年份只有两位数,‘00’~‘69’转换为2000~2069,‘70’~’99‘转换为1970~1999 if year < 70: year +=

输入年月日, 判断输入的是否正确

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 条件语句日期练习 { class Program { static void Main(string[] args) { //用户输入年.月.日,判断用户输入的年月日是否正确 //用户输入年份 Console.Write("请输入年份(0-9999):"); int y = Convert.ToI

输入年月日判断是这一年的哪一天

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { while (true) { Console.Write("请输入年"); int year

输入年月日,输出该日期是当年的第几天

这首题比较简单,只要判断该年是不是闰年,然后按月加,加到当月再加上的输入的天数即可. 假定输入的日期合法. 1 //给定一个日期,求该日期是该年的多少天? 2 #include <stdio.h> 3 #include <stdlib.h> 4 5 int main(int argc, char *argv[]) 6 { 7 int y, m, d, n = 0, i, res; 8 int months[13] = {0,31, 28, 31, 30, 31, 30, 31, 3