问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

C语言输出日历问题,比较急,高悬赏

提问网友 发布时间:2022-08-28 07:19
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
2个回答
热心网友 回答时间:2023-05-20 06:41

#include<stdio.h>

#include<stdlib.h>

main()

{     void calendar(int month);

      int month,i=1;

      char flag;

      do{

      printf("Enter month in 2010 to display calendar(1-12):");

      scanf("%d",&month);

      if(!(month>0&&month<13))

      {printf("ERROR-Enter month in range of (1-12)!\n");

      continue;}

      calendar(month);

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

      scanf("%c",&flag);

      getchar();

      }while(!(flag=='N'||flag=='n'));

      system("pause");

      }

      

void calendar(int month)

{

     int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};

     int sum=0,i,j,k,date;

     for(i=0;i<month-1;i++)

     {sum+=a[i];}

     date=(sum%7+5)%7;

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

     printf("SUN    MON   TUE    WED    THU    FRI    SAT\n");

     for(j=0;j<date;j++)

     printf("      ");

     for(k=1;k<=a[month-1];k++)

     {printf("%6d",k);

     if(!((date+k)%7)) printf("\n");}

     printf("\n");

     }

热心网友 回答时间:2023-05-20 06:41
//花了好长时间弄好了,不知道你满意不

#include <stdio.h>

/*该函数有两个参数 days是要显示的月份的天数, weekday是本月第一天是星期几 */
void month_display(int days,int weekday)
{
int i=0;
printf("\n");
while(i++<weekday) printf("\t");
for(i=0;i<days;i++)
{
if(i%7+weekday == 7) printf("\n");
printf("%d\t",i+1);
}
printf("\n");
}

void proc()
{
int i,inkey,beforedays=0;
int daysofmonth[12]={31,28,31,30,31,30,31,31,30,31,30,31};
char *weekday[7]={"SUN","MON","TUE","WED","THU","FRI","SAT"};

do{
printf("Enter month in 2010 to display calendar (1-12):");
scanf("%d",&inkey);
if(inkey>12||inkey<1) printf("ERROR- Enter month in range of (1-12)!\n");
}while(inkey>12||inkey<1);

printf("****************************************************\n");
for(i=0;i<7;i++) printf("%s\t",weekday[i]);

//计算要求月份以前所以月份天数和,用来计算本月处是周几 (beforedays+5)%7
for(i=0;i<inkey-1;i++) beforedays+=daysofmonth[i];

month_display(daysofmonth[inkey-1],(beforedays+5)%7);
printf("****************************************************\n");
}

int main()
{
char key = 'y';
while( key != 'N' && key != 'n' )
{
proc();
printf("Would you like to display another month (y/n) ?");
getchar();
scanf("%c",&key);
}
return 0;
}

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

一年日历的输出 日历输出程序java控制流程 c 语言 输出一个日历表 QQ音乐版本更新后,以前的歌曲全不见了!怎么找回啊? 凤凰传奇男主唱叫什么名字?是哪里人? 风凰传奇男的叫什么名字? 水男孩的演员 向云龙结婚了吗 俄区大菠萝中文语音包怎么下载 李籽洁这个名字好不好? 李圩洁这名字好吗含义又是什么 七年级难忘作文500字 灵活就业人员刚交一年医保,不想交了,到退休会不会有什么影响 求高手支援!红箭鱼家养及下崽问题!急!已经死了一只了! accident 和mistake 怎么区分?不要解释意思。 accident happen是动词还是名词? accident 和mistake 怎么区分?不要解释意思. 英语选择题:There were five people killed in the road accident. 帮帮忙Accident 用英语如何来解释这个词? 请用事物名称为我的狗狗命名 西游记三十九回概括 贺知章的回乡偶书少小就离家到了老大的时候才回来作者到底干什么去了... 《回乡偶书》大多数人都只学了一半,还有一半是什么? 怎样做出来的红糖糯米饭好吃? 自己当讲师如何发朋友圈 ipad7处理器相当于苹果几 2022年7月13日是搬家的最佳日子么 360安全桌面的桌面框设置后,重新启动就不见了。 渎职是什么 OPPO u707t 刷机的安装包 给我百度云或者网址 oppo u707t 手机怎么刷机 我手机是OPPOu707t,我root不小心把手机固件壁纸显示器和通知栏删了... oppo u707t 已经刷了coloros的 现在想刷miui 求方法(不能使用电脑) 手... 手机oppo u707t怎样刷机,求解。怎样下载固件包,手机自己刷机,不用电脑... 请帮我查询下公主购是什么样的平台? 高考考试统一发放文具用完后回收到哪里了~ 高考考场统一配备的文具,用完整理收纳到什么地方 高考统一发的文具用完后回收到哪里了? ...而且文具不能带出考场,那么考完后的文具如何回收呢?是直接丢弃,还 ... 考场提供的文具考后都怎么处理
Top