想输入身份证号输出出生日期
时间: 2024-10-13 09:04:01 浏览: 31
在中国,身份证号码是由18位数字组成,其中包含了个人的出生日期信息。身份证号码的第7到第14位代表的是出生年月日,其中前6位是年份(比如1990),接下来2位是月份(01~12),最后4位是日子(01~31)。你可以编写一段简单的程序来解析这个信息,下面是一个基本的示例(仅用于演示,实际应用需考虑错误检查和边界情况):
```c
#include <stdio.h>
#include <string.h>
void getBirthDateFromID(char id[]) {
int year = id[6] - '0';
year *= 10; // 加上前面的一位
year += id[5];
int month = id[8] - '0';
month *= 10; // 加上中间的一位
month += id[7];
int day = id[10] - '0';
day *= 10; // 加上最后一位
day += id[9];
if (day > 31 || (month == 2 && (day > 28 || (day == 29 && ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0))))) {
printf("输入的身份证号有误!\n");
return;
}
printf("出生日期:%d-%02d-%02d\n", year, month, day);
}
int main() {
char id[] = "123456789012345678";
getBirthDateFromID(id);
return 0;
}
```
当运行上面的程序并传入正确的身份证号时,它将打印出对应的出生日期。
阅读全文