c·c++/c 프로그래밍

주민번호 체크수자는 어떻게 구하나?

바로이순간 2012. 3. 26. 09:02

#include <stdio.h>

int main() {
  char jumin[13]; // -는 제거한 번호를 사용한다 마지막 번호는 삐고 입력한다.
  int sum=0, last;
  int i, k=2;

  gets(jumin);

  for(i=0;i<12;i++) {
    sum=sum+k*(jumin[i]-48); // 문자를 수로 바꾸기 위해서 48을 뺀다. 아스키코드 48이 '0'이다.
    k=k+1;
    if(k>9) k=2;
  }


  last=sum%11;
  last=(11-last)%10;
  printf("마지막 수자는 %d 이다.", last);

  return 0;

}