小说网 找小说 无限小说 烟雨红尘 幻想小说 酷文学 深夜书屋

基于visual Studio2013解决C语言竞赛题之1078打印日历







题目


解决代码及点评

/************************************************************************/
/* 78.	打印年历。
要求:每行打印两个月日历。如下图:

一月                        二月


三月                         四月           

.                 .
.                 .
.                 .
十一月                       十二月         

思考: 每行打印三个月日历。
                                                                     */
/************************************************************************/
#include <stdio.h>  
#include <stdlib.h>
int main(void)  
{  
	int a, i, j, n, k, t, w, x, z;  
	static int DM[12][60];  
	int m[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};  
	char wst[] = " Sun Mon Yue Wed Thu Fri Sat   ";  
	

	
	w = 2; //第一天星期二
	for(i=0; i<12; i++)  
	{  
		a = 1;  
		for(j=0; j<6; j++)  
		{  
			for(k=0; k<=6; k++)  
			{  
				while(k<w) k=k+1;  
				DM[i][j*10+k] = a;  /*计算i月的第j个星期的星期w的日期为a*/  
				a=a+1;  
				w = k+1;  
				if(w==7) w=0;  
				if(a>m[i]) break;  
			}  
			if(a>m[i]) break;  
		}  
	}  
	printf("input x(2,3): ");  
	scanf_s("%d", &x);  //x  为每行显示个数
	
	
	for(n=0; n<12/x; n++)  
	{  
		t = x*(n)+1;  
		printf("\n    ");  
		for(z=1; z<=x; z++)  
		{  
			for(k=1; k<=15; k++)  
				printf(" ");  
			printf("%2d", t+z-1);   /*打印月号*/  
			for(k=0; k<14; k++)  
				printf(" ");  
		}  
		printf("\n      ");  
		for(z=0; z<x; z++)      /*横排x个月*/  
			printf("%s", wst);   /*星期标题*/  
		for(j=0; j<6; j++)  
		{  
			printf("\n  ");  
			for(i=t-1; i<t+x-1; i++)  
			{  
				printf("   ");  
				for(k=0; k<=6; k++)  
					if(DM[i][j*10+k]==0) /*打印空格*/  
						printf("    ");  
					else  
						printf("%4d", DM[i][j*10+k]);/*日期*/  
			}  
		}  
	}  
	system("pause");
	return 0;  
}  



代码编译以及运行

由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:

1)新建工程

2)选择工程

3)创建完工程如下图:

4)增加文件,右键点击项目

5)在弹出菜单里做以下选择

6)添加文件

7)拷贝代码与运行


程序运行结果


代码下载

http://download.csdn.net/detail/yincheng01/6681845

解压密码:c.itcast.cn






posted on 2013-12-10 11:45  牛栏山1  阅读(169)  评论(0编辑  收藏  举报

导航