TA的每日心情 | 开心 2014-6-18 08:29 |
---|
签到天数: 14 天 [LV.3]偶尔看看II
滴水大师
- 积分
- 2345
|
题目
解决代码及点评
- <pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"></pre><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code">/************************************************************************/
- /* 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[j*10+k] = a; /*计算i月的第j个星期的星期w的日期为a*/
- a=a+1;
- w = k+1;
- if(w==7) w=0;
- if(a>m) break;
- }
- if(a>m) 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[j*10+k]==0) /*打印空格*/
- printf(" ");
- else
- printf("%4d", DM[j*10+k]);/*日期*/
- }
- }
- }
- system("pause");
- return 0;
- } </pre><br><br><br></pre></pre></pre>
|
|