编写一个日期程序,你可以选择不同的编程语言和库来实现。下面我将提供几种不同编程语言的日期程序示例。
C语言示例
```c
include
int main() {
int year, month, day;
printf("请输入年月日,中间用空格隔开!\n");
scanf("%d %d %d", &year, &month, &day);
int maxdays[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
maxdays = 29; // 闰年二月有29天
}
if (month > 12 || day > maxdays[month - 1]) {
printf("日期不合法!\n");
return 0;
}
// 这里可以添加代码来计算并输出星期几
// 例如,使用Zeller公式
int w = (year + year / 4 - year / 100 + year / 400 + (13 * (month + 1) / 5) + day) % 7;
printf("星期几: %d\n", w);
return 0;
}
```
Java示例
```java
import java.util.Scanner;
public class DateInputOutput {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入日期,格式为:年-月-日");
String dateInput = scanner.nextLine();
System.out.println("你输入的日期是:" + dateInput);
scanner.close();
}
}
```
C++示例
```cpp
include include int main() { int year, month, day; std::cout << "请输入年月日,中间用空格隔开!" << std::endl; std::cin >> year >> month >> day; const int daysInMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) { daysInMonth = 29; // 闰年二月有29天 } if (month > 12 || day > daysInMonth[month - 1]) { std::cout << "日期不合法!" << std::endl; return 1; } // 这里可以添加代码来计算并输出星期几 // 例如,使用Zeller公式 int w = (year + year / 4 - year / 100 + year / 400 + (13 * (month + 1) / 5) + day) % 7; std::cout << "星期几: "<< w << std::endl; return 0; } ``` 这些示例程序都包含了基本的日期输入和验证,以及计算给定日期是星期几的功能。你可以根据自己的需求进一步扩展和修改这些程序。