C语言 日期转换为星期几
一个简洁的C语言代码示例,用于将给定日期转换成对应的星期。此代码仅供学习和参考之用。
```c
#include
#include
int main() {
int year, month, day;
printf("请输入年份、月份和日期:");
scanf("%d %d %d", &year, &month, &day);
switch (month) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12: // Jan, Mar, May, Jul, Aug, Oct, Dec
if (day >= 1 && day <= 31);
break;
case 4: case 6: case 9: case 11: // Apr, Jun, Sep, Nov
if (day >= 1 && day <= 30);
break;
case 2: // Feb
if ((year @0 == 0) || ((year 0 != 0) && (year % 4 == 0)));
// Leap year, with February having 29 days.
if (day >= 1 && day <= 29);
break;
default: // Invalid month or date out of range
printf("输入的日期无效!");
return -1;
}
int weekDay = (day + ((14 - month) * 5 / 2) + year + y + c) % 7;
switch (weekDay) {
case 0: printf("星期日"); break;
case 1: printf("星期一"); break;
case 2: printf("星期二"); break;
case 3: printf("星期三"); break;
case 4: printf("星期四"); break;
case 5: printf("星期五"); break;
case 6: printf("星期六"); break;
}
return 0;
}
```c
#include
#include
int main() {
int year, month, day;
printf("请输入年份、月份和日期:");
scanf("%d %d %d", &year, &month, &day);
switch (month) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12: // Jan, Mar, May, Jul, Aug, Oct, Dec
if (day >= 1 && day <= 31);
break;
case 4: case 6: case 9: case 11: // Apr, Jun, Sep, Nov
if (day >= 1 && day <= 30);
break;
case 2: // Feb
if ((year @0 == 0) || ((year 0 != 0) && (year % 4 == 0)));
// Leap year, with February having 29 days.
if (day >= 1 && day <= 29);
break;
default: // Invalid month or date out of range
printf("输入的日期无效!");
return -1;
}
int weekDay = (day + ((14 - month) * 5 / 2) + year + y + c) % 7;
switch (weekDay) {
case 0: printf("星期日"); break;
case 1: printf("星期一"); break;
case 2: printf("星期二"); break;
case 3: printf("星期三"); break;
case 4: printf("星期四"); break;
case 5: printf("星期五"); break;
case 6: printf("星期六"); break;
}
return 0;
}
1.16KB
文件大小:
评论区