c语言怎么输入身份证号码?
发布网友
发布时间:2024-07-07 07:21
我来回答
共2个回答
热心网友
时间:2024-08-06 00:43
函数调用错。
int x;
scanf("%d",&x);
int y=square(x);
printf("%d",y);
return 0;
或:
该行改为
input(pat);
把pat的定义移到前面去
int select;
struct patient pat;
fflush(stdin);
扩展资料:
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
参考资料来源:百度百科-c语言
热心网友
时间:2024-08-06 00:44
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
char id[19]; // 身份证号码字符串,包括最后一位校验码和结束符'\0'
int weights[] = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2}; // 各位数字的权重系数
char checkcodes[] = "10X98765432"; // 校验码字符集
int i, sum = 0, checkcode;
printf("请输入身份证号码:\n");
scanf("%s", id);
if (strlen(id) != 18) {
printf("身份证号码长度必须为18位!\n");
return 0;
}
for (i = 0; i < 17; i++) {
if (!isdigit(id[i])) {
printf("身份证号码前17位必须全部是数字!\n");
return 0;
}
sum += (id[i] - '0') * weights[i];
}
checkcode = sum % 11;
if (id[17] == checkcodes[checkcode]) {
printf("身份证号码校验通过!\n");
} else {
printf("身份证号码校验失败!\n");
}
return 0;
}