69,373
社区成员
发帖
与我相关
我的任务
分享
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
char *number=malloc(30), number_arr[30], *head="071080";
char *p;
int i = 0;
if(number == NULL) {
printf("malloc error!\n");
exit(1);
}
start:
memset(number, '\0', 30);
memset(number_arr, '\0', 30);
i = 0; //i要置0
printf("请输入学生学号,必须以071080开头,长度为8,全为数字:\n");
fflush(stdin);
scanf("%s", number);
strcpy(number_arr, number);
p = number;
while(*p != '\0') {
if(!isdigit(*p))
goto start;
p++;
i++;
}
if(i !=8 ) {
goto start;
}
p = head;
for(i=0; i<6; i++) {
if(number_arr[i] != *p)
goto start;
p++;
}
strcpy(number,number_arr);
printf("%s\n",number);
//free(number);
return 0;
}