用C语言解决一个生活问题~~急用~问题加编程

需要设计两道与生活相关的C语言编程题!!!~~~有的~~速度回复我!急用... 需要设计两道与生活相关的C语言编程题!!!~~~有的~~速度回复我!急用 展开
 我来答
匿名用户
2013-07-26
展开全部
日历:#include<stdio.h>
#include<math.h>
void printhead(int m);
void printmonth(int m);
int daysofmonth(int m);
int firstday(int y);
int year,weekday;void main()
{
int i;
do
{
printf("请输入年份: ");
scanf("%d",&year);
weekday=firstday(year);
printf("\n\n");
printf(" %d年\n",year);
for(i=1;i<=12;i++)
{
printmonth(i);
printf("\n");
}
printf("\n\n");
}while(year!=0);
}
void printmonth(int m)
{
int i,days;
printhead(m);
days=daysofmonth(m);
for(i=1;i<=days;i++)
{
printf("%5d",i);
weekday=(weekday+1)%7;
if(weekday==0) printf("\n ");
}
}
void printhead(int m)
{
int i;
printf("\n%d月 日 一 二 三 四 五 六\n",m);
printf(" ");
for(i=0;i<=weekday;i++)
printf(" ");
}
int daysofmonth(int m)
{
switch (m)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:return 31;
case 4:
case 6:
case 9:
case 11:return 30;
case 2: if(((year%4==0 && year%100!=0) || year%400==0))
return 29;
else
return 28;
default: return 0;
}
}
int firstday(int y)
{
double s;
s=floor(year-1+(year-1)/4.0-(year-1)/100.0+(year-1)/400.0+1);
return (int)s%7;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式