希望该程序不使用自定义的函数
时间: 2023-12-29 15:01:58 浏览: 28
好的,下面是不使用自定义函数的版本:
```c
#include <stdio.h>
int main()
{
int year, month, day, dow, i;
while (1) {
printf("请输入年月日(如2022 12 31):");
scanf("%d %d %d", &year, &month, &day);
if (year == 0) {
printf("程序结束。\n");
break;
}
if (year < 1900 || year > 2100) {
printf("年份不在范围内(1900-2100),请重新输入。\n");
continue;
}
if (month < 1 || month > 12) {
printf("月份不正确,请重新输入。\n");
continue;
}
if (day < 1 || day > 31) {
printf("日期不正确,请重新输入。\n");
continue;
}
// 判断每个月的天数是否正确
if (month == 2) {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { // 闰年
if (day > 29) {
printf("日期不正确,请重新输入。\n");
continue;
}
} else { // 非闰年
if (day > 28) {
printf("日期不正确,请重新输入。\n");
continue;
}
}
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
if (day > 30) {
printf("日期不正确,请重新输入。\n");
continue;
}
}
dow = 1; // 1900/01/01是星期一
for (i = 1900; i < year; i++) {
if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) { // 闰年
dow += 366;
} else { // 非闰年
dow += 365;
}
}
for (i = 1; i < month; i++) {
switch (i) {
case 2:
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { // 闰年
dow += 29;
} else { // 非闰年
dow += 28;
}
break;
case 4:
case 6:
case 9:
case 11:
dow += 30;
break;
default:
dow += 31;
break;
}
}
dow += day - 1; // 1900/01/01是星期一,所以要减1
dow %= 7;
switch (dow) {
case 0:
printf("%d年%d月%d日是星期日。\n", year, month, day);
break;
case 1:
printf("%d年%d月%d日是星期一。\n", year, month, day);
break;
case 2:
printf("%d年%d月%d日是星期二。\n", year, month, day);
break;
case 3:
printf("%d年%d月%d日是星期三。\n", year, month, day);
break;
case 4:
printf("%d年%d月%d日是星期四。\n", year, month, day);
break;
case 5:
printf("%d年%d月%d日是星期五。\n", year, month, day);
break;
case 6:
printf("%d年%d月%d日是星期六。\n", year, month, day);
break;
}
}
return 0;
}
```
这个版本的程序没有使用自定义函数,而是直接在主函数中进行了计算。程序中对输入的年月日进行了合法性检查,如果不合法则提示错误并重新输入。
相关推荐
![md](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)