c语言编程题:输入一个日期,计算出该日期是星期几?
Posted 新时代键盘上的农民工
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言编程题:输入一个日期,计算出该日期是星期几?相关的知识,希望对你有一定的参考价值。
c语言编程题:输入一个日期,计算出该日期是星期几?
源代码如下:
/*
* author:X
* date:2021/9/17 18:49
* description:输入一个日期,计算出该日期是星期几?
*/
#include <stdio.h>
int leap(int year);
int main()
{
int year, month, day, i;
int m[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
printf("请输入要判断的年月日(格式如:2021 9 17 年月日之间用空格隔开):");
while (~scanf("%d %d %d", &year, &month, &day))
{
if (day < 1 || month < 1 || month > 12 || year < 1 || year>10000|| day > m[month - 1])
{
printf("%d/%d/%d 是不正确的日期\\n", year, month, day);
return -1;
}
if (leap(year))
m[1] = 29;
else
m[1] = 28;
int sum = 0;
sum += day;
for (i = 1; i < month; i++)
sum += m[i - 1];
for (i = 1; i < year; i++)
{
sum += 365;
if (leap(i))
sum++;
}
int dx = sum % 7;
if (dx == 0)
printf("%d/%d/%d 是星期天\\n", year, month, day);
else if (dx == 1)
printf("%d/%d/%d 是星期一\\n", year, month, day);
else if (dx == 2)
printf("%d/%d/%d 是星期二\\n", year, month, day);
else if (dx == 3)
printf("%d/%d/%d 是星期三\\n", year, month, day);
else if (dx == 4)
printf("%d/%d/%d 是星期四\\n", year, month, day);
else if (dx == 5)
printf("%d/%d/%d 是星期五\\n", year, month, day);
else if (dx == 6)
printf("%d/%d/%d 是星期六\\n", year, month, day);
}
return 0;
}
int leap(int year) //判断是否为闰年
{
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
return 1;
return 0;
}
测试结果:
以上是关于c语言编程题:输入一个日期,计算出该日期是星期几?的主要内容,如果未能解决你的问题,请参考以下文章