基于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
基于visual Studio2013解决C语言竞赛题之1078打印日历的更多相关文章
- 基于visual Studio2013解决C语言竞赛题之0603打印素数
题目
- 基于visual Studio2013解决C语言竞赛题之0808打印链表
题目
- 基于visual Studio2013解决C语言竞赛题之1048打印矩阵
题目 解决代码及点评 /* 48. 找规律填写N×N方阵.如N=8时, 其方阵为: */ #include <stdio.h> #include <stdlib.h& ...
- 基于visual Studio2013解决C语言竞赛题之1045打印成绩
题目 解决代码及点评 /* 功能:用记录来描述一个学生的成绩情况,内容包括:姓名.学号.数学成绩和PASCAL成绩. 要求对一个小组的10个学生的成绩进行统计处理: 1)计算学生的总 ...
- 基于visual Studio2013解决C语言竞赛题之1058打印数字
题目 解决代码及点评 /************************************************************************/ /* 58 ...
- 基于visual Studio2013解决C语言竞赛题之1057打印加数
题目 解决代码及点评 /* 功能: 已知N是正整数, 它可拆写成三个正整数N1.N2和N3之和的形式N=N1+N2+N3. 请编程序打印出满足上式的全部组合,并当N1.N2和N3中至 ...
- 基于visual Studio2013解决C语言竞赛题之1071打印工资
题目 解决代码及点评 /************************************************************************/ /* ...
- 基于visual Studio2013解决C语言竞赛题之0523魔方阵
题目
- 基于visual Studio2013解决C语言竞赛题之0518回文数
题目
随机推荐
- iOS 之使用CAShapeLayer中的CAGradientLayer实现圆环的颜色渐变
本文转载自:http://blog.csdn.net/zhoutao198712/article/details/20864143 在 Github上看到一些进度条的功能,都是通过Core Graph ...
- 浅析C++基础知识
近期想对C++的面试题目进行一下更加详细的整理.事实上认真思考一下C++程序猿的面试,我们能够发现对程序猿的能力的考察总是万变不离当中,这些基础知识主要分为五部分:一. C/C++基础知识 二. C/ ...
- aspx.cs上传文件
aspx.cs文件 using System; using System.Collections.Generic; using System.Linq; using System.Web; using ...
- [GDUT 决赛]--GCD,LCM——我是好人(数论)
Description 众所周知,我是好人!所以不会出太难的题,题意很简单 给你两个数n和m,问你有多少对正整数对最大公约数是n,最小公倍数是m最后友情提供解题代码(我真是太好人了) void sol ...
- Javascript常用函数收集(不定期更新)
str.replace('/正则表达式/','替换内容'); //正则替换str.match('/正则表达式/','替换内容'); //正则匹配 str.indexOf('查找代码'); //查找是否 ...
- python中enumerate 函数
enumerate 函数用于遍历序列中的元素以及它们的下标: >>> for i,j in enumerate(('a','b','c')): print i,j 0 a 1 b ...
- Flask web开发 处理Ajax请求
本文介绍如何处理ajax请求, 一.处理ajax的post请求 举例一: js代码举例如下: var id = obj.parentNode.parentNode.id; $.post("/ ...
- Android学习笔记:多个AsyncTask实例的并发问题
AsyncTask是Android给开发者提供的一个简单轻量级的多线程类,通过它我们可以很容易新建一个线程让在后台做一些耗时的操作(如IO操作.网络访问等),并在这个过程中更新UI.之所以说它轻量级, ...
- 2013年最好的Python开源项目汇总
2013年Python社区诞生了很多实用的开发工具,这些工具 在一定程度上 可以帮助你节省更多的时间.本文为你汇总了这些工具,它们大部分都是开源的,你还可以通过源码来学习更多的Python开发知识. ...
- Storm 配置图文解析
Storm 配置图文解析 參考阅读:http://www.xiaofateng.com/? p=959 ============================== | sample-topology ...