c语言作业年历显示6,C语言日历显示

满意答案

02ae427d08e371d7e90d5b995e828d6d.png

hbhb5210

2013.12.20

02ae427d08e371d7e90d5b995e828d6d.png

采纳率:44%    等级:13

已帮助:19747人

scanf("%c",c);这个变量c干嘛不给地址呢?!还有,这个程序写得。。。说实话,比较乱,提示说明文字也是在乱用,不看代码直接运行的话,完全叫人看不懂。好几年没有写c程序了,过会儿给你试着改的工整点。。。还有,不要一直用while(1)这种结构和break;没必要的。

#include

void print_days(int days_before, int num_days)

{

int y;

printf("****************************************************\n");

printf("SUN\tMON\tTUE\tWED\tTHU\tFRI\tSAT\n");

y = days_before % 7;

switch(y)

{

case 1:printf("\t");break;

case 2:printf("\t\t");break;

case 3:printf("\t\t\t");break;

case 4:printf("\t\t\t\t");break;

case 5:printf("\t\t\t\t\t");break;

case 6:printf("\t\t\t\t\t\t");break;

default:break;

}

for(int i = 1; i <= num_days; i++)

{

printf("%d\t",i);

if( (i + y) % 7 == 0)

printf("\n");

}

printf("\n");

}

void main()

{

int t, h, day;

char c;

do

{

do

{

printf("Enter month in 2013 to display calendar (1-12):\n");

scanf("%d", &t);

} while (t <= 0 || t > 12);

switch (t)

{

case 1:h=2;day=31;break;

case 2:h=31;day=28;break;

case 3:h=31+28;day=31;break;

case 4:h=31+28+31;day=30;break;

case 5:h=31+28+31+30;day=31;break;

case 6:h=31+28+31+30+31;day=30;break;

case 7:h=31+28+31+30+31+30;day=31;break;

case 8:h=31+28+31+30+31+30+31;day=31;break;

case 9:h=31+28+31+30+31+30+31+31;day=30;break;

case 10:h=31+28+31+30+31+30+31+31+30;day=31;break;

case 11:h=31+28+31+30+31+30+31+31+30+31;day=30;break;

case 12:h=31+28+31+30+31+30+31+31+30+31+30;day=31;break;

default:break;

}

print_days(h, day);

gets(&c);

printf("Would you like to display another month (y/n) ?");

scanf("%c",&c);

} while (c =='y' || c=='Y');

}

00分享举报

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值