C语言判断黑色星期五

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言判断黑色星期五相关的知识,希望对你有一定的参考价值。

在西方,星期五和数字13都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天。所以,不管哪个月的十三日又恰逢星期五就叫“黑色星期五”。

输入:

年份

输出:

判断该年是否包含黑色星期五,如包含,给出具体日期

例子 输入 输出
2006↵ There are 2 Black Fridays in year 2006.↵
They are:↵
2006/1/13↵
2006/10/13↵
快些答复,我实在不会!
能不能不用数组方法,我还没学

给,已经编译运行确认了:
#include<conio.h>
#include<stdio.h>
#include "math.h"
int main()

int num,n,i,x;
int result=0;
int date[50][2]=0;

int a[13]=0,12,43,71,102,132,163,193,224,255,285,316,346;/*非闰年对应的每个月13号到1月1号的天数,以下用到a[0]=0避免麻烦。多加一个数*/
int b[13]=0,12,43,72,103,133,164,194,225,256,286,317,347;/*闰年对应的每个月13号到1月1号的天数,以下用到*/

for(i=1;i<12;i++)

printf("input a year:\n");
scanf("%d",&num);
if(num % 4 != 0 || (num % 100 == 0 && num % 400 != 0 ))

for(i=1;i<12;i++)

if((365*num+(int)(num/4)-(int)(num/100)+(int)(num/400)+a[i])%7==5)/*判断i月的13号是不是星期5*/

result++;
date[result-1][0]=i;
date[result-1][1]=13;



else

for(i=1;i<12;i++)

if((365*num+(int)(num/4)-(int)(num/100)+(int)(num/400)+b[i])%7==5)

result++;
date[result-1][0]=i;
date[result-1][1]=13;





printf("There are %d Black Fridays in year %d.\n",result,num);
printf("There are: \n");
for(i=0;i<result;i++)
printf("%d/%d/%d\n",num,date[i][0],date[i][1]);

getch();
return 1;
参考技术A 调用系统的时间函数,把时间依次赋值为这年的每月13 得到星期数看是不是星期无,是就输出不就ok了 参考技术B 取一个日子 比如2009/1/1是星期五 然后算出这年每月的13号距离这天的天数 是七的倍数就是星期五 参考技术C http://blog.163.com/hold.my.hand/edit/

c语言题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

下面是我的代码,请大神说一下哪里错了,在输入TtSs这四个字母时,继续输入第二个字母,程序分辨不了星期四和星期六

#include<stdio.h>
#include<conio.h>
void main()
char c;
printf("请输入第一个字母");
while((c=getche())!=0)
printf("\n");
switch(c)
case 'M':printf("星期一\n");break;
case 'm':printf("星期一y\n");break;
case 'T':printf("请输入第二个字母");
if((c=getche())=='u'||'U') printf("星期二\n");
else if((c=getche())=='h'||'H') printf("\n星期四\n");
else printf("data error\n");
break;
case 't':printf("请输入第二个字母");
if((c=getche())=='u'||'U') printf("\n星期二\n");
else if((c=getche())=='h'||'H') printf("\n星期四\n");
else printf("data error\n");
break;
case 'W':printf("\n星期三");break;
case 'w':printf("星期三");break;
case 'F':printf("星期五\n");break;
case 'f':printf("星期五\n");break;
case 'S':printf("请输入第二个字母");
if((c=getche())=='U'||'u') printf("\n星期天\n");
else if((c=getche())=='a'||'A') printf("\n星期六\n");
else printf("输入错误\n");
break;
case 's':printf("请输入第二个字母");
if((c=getche())=='u'||'U') printf("\n星期天\n");
else if((c=getche())=='a'||'A') printf("\n星期六\n");
else printf("输入错误\n");
break;
default:printf("输入错误");break;



已经改好了:
#include<stdio.h>
#include<conio.h>
 main()
 char c;
printf("请输入第一个字母");
while((c=getche())!=0)
printf("\\n");
switch(c)
 case 'M':case 'm':printf("星期一\\n");break;
case 'T':case 't':printf("请输入第二个字母");
if((c=getche())=='u'||c=='U') printf("\\n星期二\\n",c);
else if(c=='h'||c=='H') printf("\\n星期四\\n");
else printf("data error\\n");
break;
case 'W':case 'w':printf("星期三");break;
case 'F':case 'f':printf("星期五\\n");break; 
case 'S':case 's':printf("请输入第二个字母");
if((c=getche())=='U'||c=='u') printf("\\n星期天\\n");
else if(c=='a'||c=='A') printf("\\n星期六\\n");
else printf("输入错误\\n");
break;
default:printf("输入错误");break;



参考技术A python可以这样来写

dic1 = "星期一": "mo", "星期二": "tu", "星期三": "we", "星期四": "th", "星期五": "fr", "星期六": "sa", "星期日": "su"
s1 = input("请输入第一个字母:")
li = []
for i in dic1.items():
if s1 == i[1][0]:
li.append(i[0])
if len(li) == 1:
print(li[0])
elif len(li) == 2:
s2 = input("请输入第二个字母:")
for i in li:
if s2 == dic1[i][1]:
print(i)

以上是关于C语言判断黑色星期五的主要内容,如果未能解决你的问题,请参考以下文章

黑色星期五

基于Python的黑色星期五查找脚本

算法训练 黑色星期五

ACM_黑色星期五

黑色星期五

USACO黑色星期五