C语言 求不吉利数字

在国外,每月的13号和每周的星期5都是不吉利的。特别是当13号那天恰好是星期5时,更不吉利。已知某年的一月一日是星期w,并且这一年一定不是闰年,求出这一年所有13号那天是星期5的月份,按从小到大的顺序输出月份数字。(w=1..7)

Input输入有一行,即一月一日星期几(w)。(1 <= w <= 7)Output输出有一到多行,每行一个月份,表示该月的13日是星期五。Sample Input
7
Sample Output
1
10
Hint1、3、5、7、8、10、12月各有31天 
4、6、9、11月各有30天 
2月有28天
#include<stdio.h>
int main()
{
	int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};//一年十二月份
	int i,j,k,sum=0,day,G=0,p;
     scanf("%d",&k);//一月一日星期几
	 p=7-k;//标记p为星期几
	for(i=0;i<12;i++)
	{
		for(j=0;j<i;j++)
		{
	       sum=sum+a[j];//从1月份开始遍历(思路是先判断1月是否符合条件,然后判断2月依次到12月)
		   G=i;//标记数组下标
		}
	        day=sum+12;
	       if((day-p)%7==5)//指定day - p 的第一天是星期一
		   {
		     printf("%d\n",G+1);//月份 = 数组下标+1;
		   }
		   	sum=0;
	}
	return 0;
}

  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值