#include <stdio.h> int main() { int month, day, year; printf("enter date (mm/dd/yy): "); scanf("%d/%d/%d", &month, &day, &year);
时间: 2024-03-04 15:53:39 浏览: 29
这是一个C语言的程序,它包括了标准输入输出库stdio.h,定义了一个名为main的函数,该函数返回一个整型值。在main函数中定义了三个整型变量month、day、year,并输出一条提示信息让用户输入日期信息。用户输入的日期信息以mm/dd/yy的格式进行输入,使用scanf函数将输入的数据存储到对应的变量中。
scanf函数的格式化字符串"%d/%d/%d"表示需要输入三个整型数据,并以斜杠分隔,对应存储到month、day、year三个变量中。最后程序执行结束,main函数返回0。
相关问题
c语言日期显示 编写一个程序, 接收用户录入的日期信息并且将其显示出来. 其中, 输入日期的形式为年 月 日(yy mm dd), 输出日期的形式为年月日(mm/dd/yy)。 程序的运行示例: Enter a date(year month day): 2015 3 2↙ You entered the date: 03/02/2015 输入格式: "%d%d%d" 输出格式: 输入提示信息: "Enter a date(year month day):\n" 输出格式: "You entered the date: %02d/%02d/%d"
好的,以下是程序的C语言代码:
```c
#include <stdio.h>
int main() {
int year, month, day;
printf("Enter a date(year month day):\n");
scanf("%d%d%d", &year, &month, &day); // 获取用户输入的年月日
printf("You entered the date: %02d/%02d/%d\n", month, day, year); // 输出格式化的日期信息
return 0;
}
```
运行示例:
```
Enter a date(year month day):
2015 3 2
You entered the date: 03/02/2015
```
在C语言中,我们使用`scanf()`函数来获取用户输入的年月日。在格式化输入字符串中,`%d`表示读取一个整数。我们使用`&`符号来获取变量的地址,以便`scanf()`函数可以将输入的值存储到变量中。
在输出日期信息时,我们使用`printf()`函数来格式化日期字符串。在格式化字符串中,`%02d`表示输出一个整数,宽度为2,不足2位时左侧补0。
希望这个示例程序有助于您理解在C语言中格式化日期信息的基本方法。
程序:显示法定格式的日期合同和其他法律文档中经常使用下列日期格式: dated this day of ,19 . 编写程序用来显示这种格式的日期。用户以月/日的格式录入日期,然后计算机显示出“法定”格式的日期: enter date (mm/dd/yy) : 7/19/96 dated this 19th day of july, 1996. 可以使用printf函数实现主要的格式化。然而,还有两个问题:如何为日添加“th”(或者“st”、“nd”、“rd”),以及如何使用单词代替数字显示月份。幸运的是,switch语句可以很好地解决这两种问题:用一个switch语句负责显示日的后缀,再用另一个switch语句显示出月份名。注意,11日、12日、13日对应的英文是th结尾。 **输入格式要求:"%d/%d/%d" 提示信息:"enter date (mm/dd/yy):" "dated this %d" "st/nd/rd/th" " day of " "january/february/.../december" 如果输入的日期不在合法范围内,则输出"input error!\n"。 **输出格式要求:", 19%.2d.\n"
程序如下:
#include <stdio.h>
int main()
{
int month, day, year;
printf("enter date (mm/dd/yy): ");
scanf("%d/%d/%d", &month, &day, &year);
// 判断输入日期是否合法
if (month < 1 || month > 12 || day < 1 || day > 31 || year < 0) {
printf("input error!\n");
return 0;
}
// 显示日期
printf("dated this %d", day);
switch (day) {
case 1: case 21: case 31:
printf("st");
break;
case 2: case 22:
printf("nd");
break;
case 3: case 23:
printf("rd");
break;
default:
printf("th");
break;
}
printf(" day of ");
switch (month) {
case 1:
printf("january");
break;
case 2:
printf("february");
break;
case 3:
printf("march");
break;
case 4:
printf("april");
break;
case 5:
printf("may");
break;
case 6:
printf("june");
break;
case 7:
printf("july");
break;
case 8:
printf("august");
break;
case 9:
printf("september");
break;
case 10:
printf("october");
break;
case 11:
printf("november");
break;
case 12:
printf("december");
break;
}
printf(", 19%.2d.\n", year);
return 0;
}
### 回答2:
本题要求编写程序以显示法定格式的日期。具体要求是用户输入月/日/年,然后程序将其转换成“dated this 日th/nd/st 月名,年”的格式进行显示。为了实现这个目的,可以使用printf函数进行主要的格式化,在此基础上需要使用switch语句来确定日后缀和月份英文的显示。
首先,我们需要定义三个变量来表示用户输入的月、日、年,使用scanf函数将其输入,输入格式为"%d/%d/%d",同时要求提示输入信息为"enter date (mm/dd/yy):"。然后,需要进行合法性检查,判断输入的日期是否在合法范围内。如果不合法,则需要输出提示信息"input error!\n"。
接下来,需要定义一个日后缀的变量suffix,使用switch语句根据输入的日选择相应的后缀,一般情况下按照英语语法添加th即可,但11、12、13这三个数字结尾则需要添加th后缀。然后,需要定义一个月份的变量month,同样使用switch语句根据用户输入的月份选择相应的英文显示。
最后,使用printf函数输出“dated this 日th/nd/st 月名,年”的格式,其中日后缀和月份英文使用之前定义的变量进行替换。输出格式要求为", 19%.2d.\n",其中%.2d表示输出两位数字的年份,前面的逗号和空格是为了保证法定格式的准确性。
总的来说,本题涉及到了输入输出格式化、判断结构和循环结构的应用,可以增强对C语言基本语法和流程控制的理解和掌握。