Прежде всего, в C имена переменных не могут начинаться с цифры или быть числом в этом отношении. Поэтому объявление int 1,2,3,4,5,6,7 не будет компилироваться, как и char 3;
Вот пример того, как вы могли бы сделать это, предполагая, что ввод является строкой с нулевым окончанием:
int matches(char *input){
int i;
/* This array contains 1 in places where a digit is expected */
char expected_digits[] = {1,1,0,1,1,1,1};
for(i = 0 ; input[i] != 0 && i < 7; i++){
if(expected_digits[i] == 1){
if(!isdigit(input[i])){
return 0;
}
}
else{
if(!isalpha(input[i]))
{
return 0;
}
}
}
if(i == 7) {
/* We reached the end of the input string and all its places matched */
return 1;
}
else{
return 0;
}
}
Не самый лучший кусок кода, но он должен сделать свое дело. И это должно скомпилироваться с компилятором Си.