国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

日期類問題之月份牌問題

2019-11-11 06:59:50
字體:
來源:轉載
供稿:網友
PRoblem : 月份牌問題Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 38  Solved: 11[Submit][Status][Web Board]Description這里有一份2011年的月份牌可以參考      January               February               March       Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa                   1         1  2  3  4  5         1  2  3  4  52  3  4  5  6  7  8   6  7  8  9 10 11 12   6  7  8  9 10 11 129 10 11 12 13 14 15  13 14 15 16 17 18 19  13 14 15 16 17 18 1916 17 18 19 20 21 22  20 21 22 23 24 25 26  20 21 22 23 24 25 2623 24 25 26 27 28 29  27 28                 27 28 29 30 3130 31       April                  May                   June        Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa                1  2   1  2  3  4  5  6  7            1  2  3  43  4  5  6  7  8  9   8  9 10 11 12 13 14   5  6  7  8  9 10 1110 11 12 13 14 15 16  15 16 17 18 19 20 21  12 13 14 15 16 17 1817 18 19 20 21 22 23  22 23 24 25 26 27 28  19 20 21 22 23 24 2524 25 26 27 28 29 30  29 30 31              26 27 28 29 30                                                                                       July                 August              September      Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa                1  2      1  2  3  4  5  6               1  2  33  4  5  6  7  8  9   7  8  9 10 11 12 13   4  5  6  7  8  9 1010 11 12 13 14 15 16  14 15 16 17 18 19 20  11 12 13 14 15 16 1717 18 19 20 21 22 23  21 22 23 24 25 26 27  18 19 20 21 22 23 2424 25 26 27 28 29 30  28 29 30 31           25 26 27 28 29 3031      October               November              December      Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa                   1         1  2  3  4  5               1  2  32  3  4  5  6  7  8   6  7  8  9 10 11 12   4  5  6  7  8  9 109 10 11 12 13 14 15  13 14 15 16 17 18 19  11 12 13 14 15 16 1716 17 18 19 20 21 22  20 21 22 23 24 25 26  18 19 20 21 22 23 2423 24 25 26 27 28 29  27 28 29 30           25 26 27 28 29 30 3130 31請編程實現輸出給定年份(1600-2050),給定月份(1-12)的月份牌。Input兩個數 N M,表示公元N年,M月。Output該月的月份牌,注意格式。Sample Input2012 12Sample OutputSu Mo Tu We Th Fr Sa                   12  3  4  5  6  7  89 10 11 12 13 14 1516 17 18 19 20 21 2223 24 25 26 27 28 2930 31 具體思路:本題就是一個日期類問題,注意閏年和平年的二月份天數的表示,還有的技巧就是如何控制輸出。注意公元一月一日是星期一,直接從這一天往后推即可。 
#include<cstdio>#include<iostream>using namespace std; bool isLeap(int y){	if(y%4==0&&y%100!=0 || y%400==0)	   return true;	else	   return false; } int main(){	int y,m;	int ms[20]={0,31,28,31,30,31,30,31,31,30,31,30,31};	while(scanf("%d%d",&y,&m)!=EOF){		printf("Su Mo Tu We Th Fr Sa/n");		if(isLeap(y))		   ms[2]=29;		else 		   ms[2]=28;		int sum=0;  		for(int i=1;i<y;i++)		{			if(isLeap(i))			   sum+=366;			else 			  sum+=365;		} 		for(int i=1;i<m;i++) 		  sum+=ms[i];		sum+=1;		int flag = sum%7,sum1=0;		switch(flag)		{			//后者比前者多三個空格 			case 0: printf(" 1");sum1=1;break;			case 1: printf("    1");sum1=2;break;			case 2: printf("       1");sum1 = 3;break;			case 3: printf("          1");sum1=4;break;			case 4: printf("             1");sum1 = 5;break;			case 5: printf("                1");sum1=6;break;			case 6: printf("                   1"); sum1=7;break; 		}		if(sum1%7==0)		   printf("/n"); //遇到7的倍數要換行		for(int k=2;k<=ms[m];k++){			sum1++; 			if(sum1%7==0)			{				//說明這是一行的最后一個				//先輸出與前一個數保持距離的空格				printf(" ");				if(k>=1&&k<=9)				 printf(" %d/n",k);				else 				 printf("%d/n",k);			}			else if(sum1%7==1)			{				//表示這是開頭的第一個				if(k>=1&&k<=9)				 printf(" %d",k);				else 				 printf("%d",k);			}			else{								printf(" ");				if(k>=1&&k<=9)				 printf(" %d",k);				else 				 printf("%d",k);							} 		} 		printf("/n");	}	return 0;}
上一篇:VIM入門

下一篇:1058. 選擇題(20)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 碌曲县| 镇江市| 黑河市| 安平县| 乌审旗| 三亚市| 南城县| 来宾市| 大名县| 景德镇市| 永顺县| 海宁市| 永春县| 南召县| 邵东县| 西华县| 溧水县| 新竹县| 铜川市| 阿瓦提县| 时尚| 湛江市| 忻州市| 乐平市| 茂名市| 襄樊市| 金秀| 富裕县| 石狮市| 九台市| 杨浦区| 卓资县| 绿春县| 临沭县| 福建省| 千阳县| 江川县| 金堂县| 周至县| 仙桃市| 高邑县|