题目

解决代码及点评

  1. /************************************************************************/
  2. /* 78.	打印年历。
  3. 要求:每行打印两个月日历。如下图:
  4. 一月                        二月
  5. 三月                         四月           
  6. .                 .
  7. .                 .
  8. .                 .
  9. 十一月                       十二月         
  10. 思考: 每行打印三个月日历。
  11.                                                                      */
  12. /************************************************************************/
  13. #include <stdio.h>
  14. #include <stdlib.h>
  15. int main(void)
  16. {
  17. 	int a, i, j, n, k, t, w, x, z;
  18. 	static int DM[12][60];
  19. 	int m[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  20. 	char wst[] = " Sun Mon Yue Wed Thu Fri Sat   ";  
  21. 	w = 2; //第一天星期二
  22. 	for(i=0; i<12; i++)
  23. 	{
  24. 		a = 1;
  25. 		for(j=0; j<6; j++)
  26. 		{
  27. 			for(k=0; k<=6; k++)
  28. 			{
  29. 				while(k<w) k=k+1;
  30. 				DM[i][j*10+k] = a;  /*计算i月的第j个星期的星期w的日期为a*/
  31. 				a=a+1;
  32. 				w = k+1;
  33. 				if(w==7) w=0;
  34. 				if(a>m[i]) break;
  35. 			}
  36. 			if(a>m[i]) break;
  37. 		}
  38. 	}
  39. 	printf("input x(2,3): ");
  40. 	scanf_s("%d", &x);  //x  为每行显示个数
  41. 	for(n=0; n<12/x; n++)
  42. 	{
  43. 		t = x*(n)+1;
  44. 		printf("\n    ");
  45. 		for(z=1; z<=x; z++)
  46. 		{
  47. 			for(k=1; k<=15; k++)
  48. 				printf(" ");
  49. 			printf("%2d", t+z-1);   /*打印月号*/
  50. 			for(k=0; k<14; k++)
  51. 				printf(" ");
  52. 		}
  53. 		printf("\n      ");
  54. 		for(z=0; z<x; z++)      /*横排x个月*/
  55. 			printf("%s", wst);   /*星期标题*/
  56. 		for(j=0; j<6; j++)
  57. 		{
  58. 			printf("\n  ");
  59. 			for(i=t-1; i<t+x-1; i++)
  60. 			{
  61. 				printf("   ");
  62. 				for(k=0; k<=6; k++)
  63. 					if(DM[i][j*10+k]==0) /*打印空格*/
  64. 						printf("    ");
  65. 					else
  66. 						printf("%4d", DM[i][j*10+k]);/*日期*/
  67. 			}
  68. 		}
  69. 	}
  70. 	system("pause");
  71. 	return 0;
  72. }  
  73.  

代码编译以及运行

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

1)新建工程

2)选择工程

3)创建完工程如下图:

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

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

6)添加文件

7)拷贝代码与运行

程序运行结果

代码下载

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

解压密码:c.itcast.cn






基于visual Studio2013解决C语言竞赛题之1078打印日历的更多相关文章

  1. 基于visual Studio2013解决C语言竞赛题之0603打印素数

     题目

  2. 基于visual Studio2013解决C语言竞赛题之0808打印链表

     题目

  3. 基于visual Studio2013解决C语言竞赛题之1048打印矩阵

      题目 解决代码及点评 /* 48. 找规律填写N×N方阵.如N=8时, 其方阵为: */ #include <stdio.h> #include <stdlib.h& ...

  4. 基于visual Studio2013解决C语言竞赛题之1045打印成绩

       题目 解决代码及点评 /* 功能:用记录来描述一个学生的成绩情况,内容包括:姓名.学号.数学成绩和PASCAL成绩. 要求对一个小组的10个学生的成绩进行统计处理: 1)计算学生的总 ...

  5. 基于visual Studio2013解决C语言竞赛题之1058打印数字

       题目 解决代码及点评 /************************************************************************/ /* 58 ...

  6. 基于visual Studio2013解决C语言竞赛题之1057打印加数

       题目 解决代码及点评 /* 功能: 已知N是正整数, 它可拆写成三个正整数N1.N2和N3之和的形式N=N1+N2+N3. 请编程序打印出满足上式的全部组合,并当N1.N2和N3中至 ...

  7. 基于visual Studio2013解决C语言竞赛题之1071打印工资

        题目 解决代码及点评 /************************************************************************/ /* ...

  8. 基于visual Studio2013解决C语言竞赛题之0523魔方阵

     题目

  9. 基于visual Studio2013解决C语言竞赛题之0518回文数

     题目

随机推荐

  1. LoadImage()的使用

    系统中的定义是: WINUSERAPIHANDLEWINAPILoadImageA(    HINSTANCE,    LPCSTR,    UINT,    int,    int,    UINT ...

  2. iOS中的图像处理(一)——基础滤镜

    最近在稍微做一些整理,翻起这部分的代码,发现是两个多月前的了. 这里讨论的是基于RGBA模型下的图像处理,即将变换作用在每个像素上. 代码是以UIImage的category形式存在的: typede ...

  3. tomcat 系统服务 outofmemory

    TOMCAT内存溢出outofmemory的问题: http://hi.baidu.com/mefeng47/item/3b247af74ce4e24e922af2e5 注:双击tomcat6w.ex ...

  4. thiscall仅仅应用于“C++”成员函数(this指针存放于CX寄存器,参数从右到左压)

    _stdcall是Pascal程序的缺省调用方式,通常用于Win32 Api中,函数采用从右到左的压栈方式,自己在退出时清空堆栈.VC将函数编译后会在函数名前面加上下划线前缀,在函数名后加上" ...

  5. java Hastable使用

    jdk:http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Hashtable.html Hashtable numbers = new Ha ...

  6. Android 多分辨率机适应

    如果你有一台机器,如以下决议: 800 x 480 1024 x 600 1024 x 768 1280 x 800 1920 x 1200 2048 x 1536 总共六种类分辨率机器,假设依照dp ...

  7. 变相的取消Datagridview控件的选中状态

    思路:把每一列的文字颜色设为黑色,选中时候的背景为白色,颜色为黑色.每一列都这样设置,那么变相的达到了取消选中效果. 图:

  8. BZOJ 3315: [Usaco2013 Nov]Pogo-Cow( dp )

    我真想吐槽USACO的数据弱..= = O(n^3)都能A....上面一个是O(n²), 一个是O(n^3) O(n^3)做法, 先排序, dp(i, j) = max{ dp(j, p) } + w ...

  9. [转]PostgreSQL 中文资料汇总

    原文链接:http://francs3.blog.163.com/blog/static/405767272014017341219/ --1 中文社区网站  PostgreSQL 中文社区官网: h ...

  10. android switch语句case expressions must be constant expressions

    在项目中遇到这样的Exception:case expressions must be constant expressions public class StandingCityActivity e ...