example1.c
来自「北大青鸟软件工程师ppt的学生用书源代码」· C语言 代码 · 共 103 行
C
103 行
#include <stdio.h>
#include <stdlib.h>
/* 结构 date */
struct date
{
int day;
int month;
int year;
};
void month_nm(struct date *);
void main()
{
struct date d1;
printf("\n 以数字形式输入日期(年月日)\n");
printf("\n 输入年(1900 - 2005):");
scanf("%d", &d1.year);
if(d1.year >= 1900 && d1.year <= 2005)
{
printf("\n 输入月: ");
scanf("%d", &d1.month);
if(d1.month>=1 && d1.month<=12)
{
if(d1.month==2)
{
printf("\n 输入日:");
scanf("%d", &d1.day);
if (d1.day >= 1 && d1.day <= 28)
{
/* 通过传递结构引用对函数 month_nm() 进行调用 */
month_nm(&d1);
}
else
{
printf("\n无效日期,程序退出!\n");
exit(0);
}
}
else if(d1.month == 1 || d1.month == 3 || d1.month == 5|| d1.month == 7
|| d1.month == 8 || d1.month == 10|| d1.month == 12)
{
printf("\n 输入日:");
scanf("%d", &d1.day);
if (d1.day >= 1 && d1.day <= 31)
{
/* 通过传递结构引用对函数 month_nm() 进行调用 */
month_nm(&d1);
}
else
{
printf("\n无效日期,程序退出!\n");
exit(0);
}
}
else
{
printf("\n 输入日:");
scanf("%d", &d1.day);
if (d1.day >= 1 && d1.day <= 30)
{
/* 通过传递结构引用对函数 month_nm() 进行调用 */
month_nm(&d1);
}
else
{
printf("\n无效日期,程序退出!\n");
exit(0);
}
}
}
else
{
printf("\n无效的月份,程序退出!\n");
exit(0);
}
}
else
{
printf("\n无效的年份,程序退出!\n");
exit(0);
}
}
/* 函数 month_nm() */
void month_nm(struct date *d2)
{
/* 二维数组存储月份的中文 */
char month_name[][10] = {
"一月",
"二月",
"三月",
"四月",
"五月",
"六月",
"七月",
"八月",
"九月",
"十月",
"十一月",
"十二月"
};
printf("\n\n 日期是:%d 年 %s %d 日\n",d2->year, month_name[(d2->month) - 1], d2->day );
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?