C语言输入身份证,按照位数输出年月日
时间: 2023-05-12 09:03:56 浏览: 141
可以使用字符串截取的方式来实现,具体代码如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char id[19];
printf("请输入身份证号码:");
scanf("%s", id);
// 截取出生年月日
char year[5], month[3], day[3];
strncpy(year, id + 6, 4);
strncpy(month, id + 10, 2);
strncpy(day, id + 12, 2);
year[4] = '\0';
month[2] = '\0';
day[2] = '\0';
printf("出生年月日为:%s年%s月%s日\n", year, month, day);
return 0;
}
```
输入身份证号码后,程序会截取出生年月日并输出。
相关问题
C语言输入身份证,按照位数输出年月日和性别
以下是C语言的代码,可以实现输入身份证号码,然后按照位数输出年月日和性别:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char id[19];
printf("请输入身份证号码:");
scanf("%s", id);
// 解析出生日期
char year[5], month[3], day[3];
strncpy(year, id+6, 4);
year[4] = '\0';
strncpy(month, id+10, 2);
month[2] = '\0';
strncpy(day, id+12, 2);
day[2] = '\0';
// 输出出生日期
printf("出生日期:%s年%s月%s日\n", year, month, day);
// 解析性别
int gender = (id[16] - '0') % 2;
printf("性别:%s\n", gender == 1 ? "男" : "女");
return 0;
}
```
这段代码会先让用户输入身份证号码,然后解析出生日期和性别,并输出到屏幕上。注意,这段代码只是一个简单的示例,实际上身份证号码的格式和规则比较复杂,需要更加严谨的处理方式。
C语言输入身份证,输出年月日
以下是一个简单的 C 语言程序,可以实现输入身份证号码,输出对应的出生年月日:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char id[19];
printf("请输入身份证号码:");
scanf("%s", id);
if (strlen(id) != 18) {
printf("身份证号码格式不正确!\n");
return 1;
}
char year[5], month[3], day[3];
strncpy(year, id + 6, 4);
year[4] = '\0';
strncpy(month, id + 10, 2);
month[2] = '\0';
strncpy(day, id + 12, 2);
day[2] = '\0';
printf("出生年月日为:%s年%s月%s日\n", year, month, day);
return 0;
}
```
这个程序首先要求用户输入身份证号码,然后判断输入的字符串长度是否为 18,如果不是则输出错误信息并退出程序。接着,程序从身份证号码中提取出生年月日信息,最后输出到屏幕上。