小白求教C语言最简单题目

CloudStrifers 2012-05-27 10:22:42
在国外,每月的13号和每周的星期五都是不吉利的,特别是当13号那天恰好是星期5时,更不吉利,已知某年的一月一日是星期w,并且这一年一定不是闰年,求出这一年所有13号那天是星期5的月份,按从小到大的顺序输出月份数字
...全文
243 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
北落师门 2012-05-28
  • 打赏
  • 举报
回复


/*
============================================================================
Name : for_infinite.c
Author :
Version :
Copyright : Your copyright notice
Description : Hello World in C, Ansi-style
============================================================================
*/

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
typedef enum
{
MONDAY = 1,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY = 0
}WeekDays;

#define NOT_LEAP_YEAR_DAYS 365
bool is_friday(WeekDays first_day);
WeekDays get_first_day(int month, WeekDays day);



void print_pagehost_bigaunt_days(WeekDays today)
{
//
int bigaunt_month[13] = {0};
int month = 1;

int i_index = 0;
for(; month <= 12; ++month)
{
if(is_friday(today))
{
bigaunt_month[i_index] = month;
++i_index;
}
today = get_first_day(month, today);
}


printf("page host big aunt month is:");
int i_loop = 0;
for(; i_loop < sizeof(bigaunt_month)/sizeof(int); ++i_loop)
{
if(bigaunt_month[i_loop])
{
printf("%d ", bigaunt_month[i_loop]);
}
}

printf("\n");
}


//first_day该月1号为星期几
bool is_friday(WeekDays first_day)
{
return ((first_day + 12) % 7) == FRIDAY;
}


//month月份 day当月一号为星期几 返回下月1号为星期几
WeekDays get_first_day(int month, WeekDays day)
{
switch (month)
{
case 1:
return (day + 31)%7;
case 2:
return (day + 29)%7;
case 3:
return (day + 31)%7;
case 4:
return (day + 30)%7;
case 5:
return (day + 31)%7;
case 6:
return (day + 30)%7;
case 7:
return (day + 31)%7;
case 8:
return (day + 31)%7;
case 9:
return (day + 30)%7;
case 10:
return (day + 31)%7;
case 11:
return (day + 30)%7;
case 12:
return (day + 31)%7;
}

}


int main(int argc, char** argv)
{
print_pagehost_bigaunt_days(0);
}






貌似2012是对的 其他没试过
frank909 2012-05-28
  • 打赏
  • 举报
回复
这个题目叫做黑色星期五

我给你讲思路吧。
1900年1月1日是星期一。
假如你算今年有多少个黑色星期五,你先把1900到2012有多少天算出来。闰年是366,平年是365天。
然后你就看该年的每月份是不是黑色星期五就是了。基本上if-else switch语句的。
CloudStrifers 2012-05-27
  • 打赏
  • 举报
回复
求求啊啊啊
CloudStrifers 2012-05-27
  • 打赏
  • 举报
回复
在线等大神求求

69,381

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧