有关《C语言入门经典(第4版)》习题

来源:百度知道 编辑:UC知道 时间:2024/05/10 05:15:16
我正在学习《C语言入门经典(第4版)》 看完第3章,做习题时,遇到了一个困难,就是 习题3.2(第3章习题) 我用了一个极其烦琐的方法解答了出来,我知道有简单的方法,但怎么想都想不出来,希望大家帮帮我,谢谢!
题目:编写一个程序,提示用户输入3个整数值,分别代表月、日、年.例如用户输入了12、31、2003,程序就以31st December 2003的格式输入该日期.

谢谢!
还需要判断每月为大月或小月(即31天还是30天)还有2月特殊月,还有日期后面的后缀如1st 2sd 5th 之类的
都要判断 谢谢,怪我没写清楚,谢谢下面的俩位朋友!

#include<stdio.h>

int main()
{
int year, month, day;
char *m[] = {" ", "January", "February", "Marth", "April", "May", "June", "July", "August", "September", "October", "November", "December"};

printf("请输入月 日 年:\n");
scanf("%d %d %d", &month, &day, &year);

printf("%dst %s %d\n", day, m[month], year);

return 0;
}
运行通过哈~~当然,没有写判断日是否超过21,月是否超过12的代码哈~~
示例:
请输入月 日 年:
12 31 2003
31st December 2003

用二维字符数组保存月份的英文名称 ,然后通过输入的月份数字从二维字符数组中提取对应下标位置的字符串就得到了对应月份的英文名称,而不需要用条件判断语句。