输入某年某月某日,判断这一天是这一年的第几天?
- 格式:docx
- 大小:11.02 KB
- 文档页数:2
#include <iostream>using namespace std;int main(){int year,mon,day;int IsLeapYear=0;//是否是闰年int daynum=0;//今天是今年的第几天int DayNumAMonth;//这个月有多少天cout <<"Please input 年月日"<<endl;cin>>year>>mon>>day;if( (year%4==0 && year%100 !=0) || year%400==0) IsLeapYear=1;switch (mon){case 1:DayNumAMonth = 31;break;case 2:if(IsLeapYear)DayNumAMonth = 29;elseDayNumAMonth = 28;daynum+=31;break;case 3:DayNumAMonth = 31;daynum += 59;break;case 4:DayNumAMonth = 30;daynum += 90;break;case 5:DayNumAMonth = 31;daynum += 120;break;case 6:DayNumAMonth = 30;daynum += 151;break;case 7:DayNumAMonth = 31;daynum += 181;break;case 8:DayNumAMonth = 31;daynum += 212;break;case 9:DayNumAMonth = 30;daynum += 243;break;case 10:DayNumAMonth = 31;daynum += 273;break;case 11:DayNumAMonth = 30;daynum += 304;break;case 12:DayNumAMonth = 31;daynum += 334;break;default:cout <<"Error!\n"<<endl;return 0;break;}if(IsLeapYear && mon >2)daynum++;daynum+=day;cout<<"在这一年,今天是第"<<daynum<<"天\n";return 0;}#include<iostream>using namespace std;class Date{public:Date(int y,int m,int d);int no1();int no2();private:int year;int month;int day;};Date::Date(int y,int m,int d){year=y;month=m;day=d;}int Date::no1(){if(year%4==0&&year%400!=0){switch(month){case 1: return 31;break;case 2: return 28;break;case 3: return 31;break;case 5: return 31;break;case 7: return 31;break;case 8: return 31;break;case 10: return 31;break;case 12: return 31;break;default:return 30;}}else{switch(month){case 1: return 31;break;case 2: return 29;break;case 3: return 31;break;case 5: return 31;break;case 7: return 31;break;case 8: return 31;break;case 10: return 31;break;case 12: return 31;break;default:return 30;}}}int Date::no2(){int i=2,sum=0;if(year%4==0&&year%400!=0){for(;i<=month;i++){if(i==2||i==4||i==8||i==9||i==11)sum+=31;else if(i==3)sum+=28;else sum+=30;}}else{int sum=0;for(i=2;i<=month;i++){if(i==2||i==4||i==8||i==9||i==11)sum+=31;else if(i==3)sum+=29;else sum+=30;}}return sum+day;}int main(){int y,m,d;cout<<"请输入日期:"<<endl;cin>>y>>m>>d;Date date(y,m,d);cout<<"本月份共有"<<date.no1()<<"天"<<endl;cout<<"这是第"<<date.no2()<<"天"<<endl;return 0;}。
用vb语言编写给出年月日,计算它是一年中的第几天用vb语言编写"给出年月日,计算它是一年中的第几天"Private Sub Command1_Click()MsgBox "这是" & Text1.T ext & "年中的第" & DatePart("y", DateSerial(Val(Text1.Text), Val(Text2.Text), Val(Text3.Text))) & "天"End SubText1输入年,Text2输入月,Text3输入日,点Command1后用公共对话方块输出结果。
如果要在Text4输出结果,则是:Private Sub Command1_Click()Text4.Text = "这是" & Text1.Text & "年中的第" & DatePart("y", DateSerial(Val(Text1.Text), Val(Text2.Text), Val(Text3.Text))) & "天"End Sub用C语言编写:运用函式输入年月日使之输出这是一年中的第几天?执行结果:图片里#include <stdio.h> int main( void ) { int y,m,d,mm[]={31,28,31,30,31,30,31,31,30,31,30,31}; int i,ds; printf("输入年:"); scanf("%d",&y); printf("输入月:"); scanf("%d",&m); printf("输入日:"); scanf("%d",&d); if(y%4==0 && y%100!=0 || y%400==0) mm[1]++; if(y<1 || !(1<=m && m<=12) || !(1<=d && d<=mm[m-1])) printf("输入错误"); else { ds=d; for(i=0;i<m-1;i++) ds+=mm[i]; printf("%d年%d月%d日是该年的第%d日",y,m,d,ds); } }用C怎么语言编写“给出年月日计算该日是该年的第N天,并输出下一天的日期“不好意思没看到后面的现在给补上了#include<stdio.h>main(){int y,m,d,a[12],t=0,s,i,yn,mn,dn;printf("输入你要查询的年月日空格隔开\n");lop:scanf("%d%d%d",&y,&m,&d);riqi:a[0]=0;a[1]=31;a[3]=31;a[4]=30;a[5]=31;a[6]=30;a[7]=31;a[8]=31;a[9]=30;a[10]=31;a[11]=30;a[12]=31; 以上为定义月份的日期;if(y%4==0&&y%100!=0) a[2]=29;else if(y%100==0&&y%400==0) a[2]=29; 判断是否为闰年;elsea[2]=28;goto k;k:if(m>12||d>a[m]) {printf("错误日期重新输入!\n"); 验证时间的合法性goto lop;}else{for(i=0;i<=m-1;i++){t=t+a[i];}s=t+d;printf("%d年%d月%d号是%d年的第%d天\n",y,m,d,y,s);goto lock;}lock:if(m<12&&(d==a[m])){yn=y;mn=m+1;dn=1;}else if(m<12&&(d<a[m])){yn=y;mn=m;dn=d+1;}else if((m==12)&&(d=a[m])){yn=y+1;mn=1;dn=1;}else if(m==12&&d<a[m]){yn=y;mn=m;dn=d+1;}printf("该日期第二天是%d年%d月%d日\n",yn,mn,dn);}用c语言中的阵列程式设计,当填写年月日时,输出是这年的第几天.#include<stdio.h>int main(){int a[13];int year,month,day;scanf("%d%d%d",&year,&month,&day);if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0) a[2]=29;elsea[2]=28;a[1]=a[3]=a[5]=a[7]=a[8]=a[10]=a[12]=31;a[4]=a[6]=a[9]=a[11]=30;int sum=0;for(int i=1; i<month; i++)sum=a[i]+sum;int totalday;totalday=sum+day;printf("%d",totalday);}请问在PHP中如何计算日期2013年7月8号是星期几?是一年中的第几天?$strtime="2013-7-8";要求的时间$time=strtotime($strtime);echo $strtime." 是星期:".date('w',$time)."<br>";echo $strtime." 是年份中的第:".date('z',$time)."天<br>"; 用定义类的 *** 计算某年某月某日是一年中的第几天class Date{private:int month;int day;public:Date(int y, int m, int d):year(y), month(m), day(d){}int Compute();};int Date::Compute(){int days = 0;for(int i=0; i<month; i++){switch(i){case 1: case 3: case 5: case 7: case 8: case 10: case 12: days += 31;break;case 4: case 6: case 9: case 11:days += 30;break;case 2:if((year%4==0) || (year%100==0&&year%400==0)) {days += 29;}else{days += 28;}break;days += day;}}return days;}void main(){Date date(2000, 3, 15);cout << pute() << endl;}C语言中输入2017-10-18判断是一年中第几天的程式(注意带年月日之间的'-')#include<stdio.h>int YMD_2_JD(int Y, int M, int D){const short MonthDay[]={0,31,28,31,30,31,30,31,31,30,31,30,31};int JD,i;JD=D;for (i=0;i<M;i++) JD+=MonthDay[i];if (((Y%4==0)&&(Y%100!=0)||(Y%400==0)) && (M>2)) JD++;return JD;}int main(){int y,m,d,jd;printf("input 2017-10-18\n");scanf("%4d%*c%2d%*c%d",&y,&m,&d);jd = YMD_2_JD(y,m,d);printf("jd = %d\n",jd);return 0;}程式中考虑了闰年和非闰年。
《Java语言》课程作业(第一次)题目第2题学院计算机学院专业网络工程班别学号姓名2012年4月6日一、课程题目输入某年某月某日,判断这一天是这一年的第几天?二、题目分析与设计1. 论述题目的需求。
题目需要输入一个日期(年、月、日),判断日期是否正确,然后判断这一天是这一年的第几天,输出结果2. 制定对应程序的功能,对各个功能及其分解成的子功能作出相应阐述,。
输入功能:输入年月日数值并赋给相应的整型变量year,month,day;日期正误功能:判断year是否大于0,是否为闰年;判断month是否大于0且小于等于12;判断day是否大于0且小于该月份的最大天数;重新输入功能:如果日期有误,返回上层重新输入日期;日期计算功能:根据year,month,day判断该日期使这一年的第几天;输出功能:输出结果;3. 绘制程序功能层次图和程序结构流程图。
功能层次图结构流程图4. 注明所使用的开发环境(Eclipse、NetBeans,JBuilder),解析关键代码部分的实现。
开发环境:myeclipse 8.5关键代码:if(year<1)a=true;//判断年份是否出错if(month>12 || month<1)b=true;//判断月份是否出错int dayOfMonth[] = {31,28,31,30,31,30,31,31,30,31,30,31};//将每个月的日期写在数组里if(IsLeapYear(year))dayOfMonth[1]=29;//如果是闰年的话2月天数变为29 if(month>11 || month<1)i=true;else{temporaryDay = dayOfMonth[month-1];if(day<1 || day>temporaryDay) i = true;//判断日期是否正确}return i;if(year%4==0 && year%100!=0 || year%400==0)i=true;//判断闰年与否for(i=0;i<=month-2;i++){ //计算这个月之前的总天数dayCount = dayCount + dayOfMonth[i];}三、测试分析1. 典型测试数据的构建,并且给出测试数据的预计结果2. 本程序的测试情况,与预计结果作对比附录:源代码小四字体,1.5倍行距。
Python计算指定⽇期是今年的第⼏天(三种⽅法)今天早上和腾讯⾯试官进⾏了视频⾯试,由于⾳量和⽹络以及我的垃圾电脑的原因,个⼈感觉黄了...最后⾯试官给了我⼀道简单的计算题:指定⽇期是今年的第⼏年由于电脑卡到打字都打不动,我勉勉强强写了⼀点,虽然⾯试官知道了我的想法也了解我的设备情况,最后没让我写完但是⼼⾥惭愧还是时候补齐了...话不多说回到主题吧⾸先是输⼊的问题,个⼈认为分别输⼊年⽉份是⼀件很初级的要求,就实现了形如“2020-3-26”的字符串解析的两种⽅法,代码如下:def cal_date_str_spilt(date):''''处理形如"2020-3-26"使⽤字符串的spilt⽅法解析'''_year = int(date.split('-')[0])_month = int(date.split('-')[1])_day = int(date.split('-')[2])return [_year, _month, _day]def cal_date_str_time(date):'''使⽤time库内置函数strptime(string, format) return struct_time对象传⼊参数:字符串 + 处理格式'''_date = time.strptime(date, '%Y-%m-%d')_year = _date.tm_year_month = _date.tm_mon_day = _date.tm_mdayreturn [_year, _month, _day]然后判断是否闰年def judge_leap_year(year, month):# 只有闰年且⽉份⼤于2⽉才加多⼀天if year % 400 == 0 or year % 100 and year % 4 == 0 and month > 2:return 1else:return 0主函数def main():date = input("请输⼊⽇期,以'-'分隔:")sum_1, sum_2 = 0, 0date_list_1 = cal_date_str_spilt(date)date_list_2 = cal_date_str_time(date)month_day = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]month_day_lep = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]sum_1 += sum(month_day[:date_list_1[1] - 1]) + date_list_1[2] + judge_leap_year(date_list_1[0], date_list_1[1])sum_2 += sum(month_day[:date_list_2[1] - 1]) + date_list_2[2] + judge_leap_year(date_list_2[0], date_list_2[1])print('今天是今年的第' + str(sum_1) + '天')print('今天是今年的第' + str(sum_2) + '天')'''这⼀段是使⽤了datetime库的⽅法,python本⾝就有处理该类问题的⽅法'''_sum = datetime.date(date_list_1[0], date_list_1[1], date_list_1[2])sum_3 = _sum.strftime('%j')if sum_3[0] == '0' and sum_3[1] == '0':print('今天是今年的第' + str(sum_3[-1:]) + '天')elif sum_3[0] == '0':print('今天是今年的第' + str(sum_3[-2:]) + '天')else:print('今天是今年的第' + str(sum_3) + '天')if __name__ == '__main__':main()以下是全部代码:import datetimeimport timedef cal_date_str_spilt(date):''''处理形如"2020-3-26"使⽤字符串的spilt⽅法解析'''_year = int(date.split('-')[0])_month = int(date.split('-')[1])_day = int(date.split('-')[2])return [_year, _month, _day]def cal_date_str_time(date):'''使⽤time库内置函数strptime(string, format) return struct_time对象传⼊参数:字符串 + 处理格式'''_date = time.strptime(date, '%Y-%m-%d')_year = _date.tm_year_month = _date.tm_mon_day = _date.tm_mdayreturn [_year, _month, _day]def judge_leap_year(year, month):# 只有闰年且⽉份⼤于2⽉才加多⼀天if year % 400 == 0 or year % 100 and year % 4 == 0 and month > 2:return 1else:return 0def main():date = input("请输⼊⽇期,以'-'分隔:")sum_1, sum_2 = 0, 0date_list_1 = cal_date_str_spilt(date)date_list_2 = cal_date_str_time(date)month_day = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]month_day_lep = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]sum_1 += sum(month_day[:date_list_1[1] - 1]) + date_list_1[2] + judge_leap_year(date_list_1[0], date_list_1[1])sum_2 += sum(month_day[:date_list_2[1] - 1]) + date_list_2[2] + judge_leap_year(date_list_2[0], date_list_2[1])print('今天是今年的第' + str(sum_1) + '天')print('今天是今年的第' + str(sum_2) + '天')'''这⼀段是使⽤了datetime库的⽅法,python本⾝就有处理该类问题的⽅法'''_sum = datetime.date(date_list_1[0], date_list_1[1], date_list_1[2])sum_3 = _sum.strftime('%j')if sum_3[0] == '0' and sum_3[1] == '0':print('今天是今年的第' + str(sum_3[-1:]) + '天')elif sum_3[0] == '0':print('今天是今年的第' + str(sum_3[-2:]) + '天')else:print('今天是今年的第' + str(sum_3) + '天')if __name__ == '__main__':main()总结到此这篇关于Python三种⽅法计算指定⽇期是今年的第⼏天的⽂章就介绍到这了,更多相关python计算指定⽇期是今年第⼏天内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
1:输入某年某月某日,判断这一天是这一年的第几天。
例如,2001年3月5日是这一年的第64天。
2:输出阶梯形式的9*9口诀表,如图 1.1所示。
1*1=11*2=22*2=41*3=32*3=63*3=91*4=42*4=83*4=124*4=161*5=52*5=103*5=154*5=205*5=251*6=62*6=123*6=184*6=245*6=306*6=361*7=72*7=143*7=214*7=285*7=356*7=427*7=491*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=641*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81图1.1阶梯形式的9*9口诀表要求:使用循环结构语句实现。
3:编程实现判断一个整数是否为“水仙花数”。
所谓“水仙花数”是指一个三位的整数,其各位数字立方和等于该数本身。
例如:153是一个“水仙花数”4:已知某字符串数组,包含如下初始数据:a1,a2,a3,a4,a5已知另一字符串数组,包含如下初始数据:b1,b2,b3,b4,b5,做程序将该两个数组的每一对应项数据相加存入另外一个数组,并输出。
输出结果为:a1b1,a2b2,a3b3,a4b4,a5b5。
5:已知某个班有M个学生,学习N门课程,已知所有学生的各科成绩,编程:分别求每个学生的平均成绩,并输出。
6:利用递归方法求5!阶乘7:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
8:输入一批学生成绩,以-1作为结束标记。
统计这批学生中,不及格(score<60)、及格(60<=score<70)、中等(70<=score<80)、良好(80<=score<90)、优秀(90<=score<=100)的人数。
1 #include <stdio.h>2 int main()3 {4 int month,day,year,sum=0;5 do {6 printf("请输入一个日期按年,月,日\n");7 printf("year=");8 scanf("%d,",&year);9 printf("month=");10 scanf("%d,",&month);11 printf("day=");12 scanf("%d",&day);13 if(year<0||month<0||month>12||day<0||day>31)14 { printf("这是一个无效日期,请输入正确的日期\n");}15 else{break;}16 }17 while(1);18 //{printf("year=");19 //scanf("%d,",&year);20 //printf("month=");21 //scanf("%d,",&month);22 // printf("day=");23 //scanf("%d",&day);}24 //if(year<0||month<0||month>12||day<0||day>31)25 // {26 // printf("这是一个无效日期,请输入正确的日期\n");2728 // }29 // else{30 {31 switch(month)32 {33 case 1:sum=0;break;34 case 2:sum=31;break;35 case 3:sum=59;break;36 case 4:sum=90;break;37 case 5:sum=120;break;38 case 6:sum=151;break;39 case 7:sum=181;break;40 case 8:sum=212;break;41 case 9:sum=243;break;42 case 10:sum=273;break;43 case 11:sum=303;break;44 case 12:sum=334;break;45 default:printf("dataerror");break;46 }47 }48 sum=sum+day;49 if(((year%4==0&&year%100!=0)||year%400==0)&&month>2)50 {51 sum+=1;52 }53 printf("这一天是这一年的第%d天\n",sum);54 return 0;55 }。
java从键盘分别输⼊年、⽉、⽇,判断这⼀天是当年的第⼏天public static void main(String[] args) { int day,month,year; int[] runYear=new int[]{31,29,31,30,31,30,31,31,30,31,30,31}; int[] noRunYear=new int[]{31,28,31,30,31,30,31,31,30,31,30,31}; int flag=0; //判断是否是闰年 int daySum=0; //天数合计 Scanner sc=new Scanner(System.in); System.out.println("请输⼊年:"); year=sc.nextInt(); if(year%4==0&&year%100!=0||year%400==0){ flag=1; } while(true){ System.out.println("请输⼊⽉份:"); month=sc.nextInt(); if(month>0&&month<=12){ break; }else{ System.out.println("你输⼊的⽉份有误"); } } while(true){ System.out.println("请输⼊天:"); day=sc.nextInt(); if(flag==1){ if(runYear[month-1]>=day&&day>0){ break; }else{ System.out.println("你输⼊的天数有误"); } }else{ if(noRunYear[month-1]>=day&&day>0){ break; }else{ System.out.println("你输⼊的天数有误"); } } } for(int i=0;i<month-1;i++){ if(flag==1){ daySum+=runYear[i]; }else{ daySum+=noRunYear[i]; } } daySum+=day; System.out.println("该天是该年的第:"+daySum+"天"); }。
输入年月日计算这个日期是本年多少天<!DOCTYPE html><html><head><meta charset="utf-8"><title></title><script>let year = parseInt(prompt("请输入年:"));let month = parseInt(prompt("请输入月:"));let day = parseInt(prompt("请输入日:"));let sum = parseInt(0);if((year%4===0&&year%100!==0||year%400===0)&&month>2){sum++;}if(month<2){sum=day;}else if(month<3){sum=31+day;}else if(month<4){sum=31+28+day;}else if(month<5){sum=31+28+31+day;}else if(month<6){sum=31+28+31+30+day;}else if(month<7){sum=31+28+31+30+31+day;}else if(month<8){sum=31+28+31+30+31+30+day;}else if(month<9){sum=31+28+31+30+31+30+31+day;}else if(month<10){sum=31+28+31+30+31+30+31+31+day;}else if(month<11){sum=31+28+31+30+31+30+31+31+30+day;}else if(month<12){sum=31+28+31+30+31+30+31+31+30+31+day;}else{alert('日期错误')}document.write(month + '月' + day + '日是,' + year + '年的第' + sum + '天!')</script></head><body></body></html>。