Cod sursa(job #157254)

Utilizator ZozelZozo Zozo Zozel Data 12 martie 2008 22:09:26
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include<stdio.h>
#include<stdlib.h>

int main(){
FILE *fin=fopen("cifra.in","r");
FILE *fout=fopen("cifra.out","w");

int T,twostate,i,j,ucif,pucif;
char chb,chf,nch;

fscanf(fin,"%d\n",&T);
 for(j=0;j<T;j++){
   i=0;
 nch='a';chb='a';chf='a';
while(nch!='\n'){
 fscanf(fin,"%c",&nch);
  if(nch!='\n'){
   chb=chf;chf=nch;
  }
 i++;
 }
  if(i!=2){
 pucif=atoi(&chb);
 ucif=atoi(&chf)/10;
 twostate=pucif*10+2;
 twostate=(twostate%4==0)?6:4;
 pucif*=7;pucif%=10;
}
 else{
  pucif=0;ucif=atoi(&chf);
  twostate=4;
  }
 switch(ucif){
  case 1:pucif++;break;
  case 2:pucif+=twostate+1;break;
  case 3:pucif+=twostate+8;break;
  case 4:pucif+=twostate+4;break;
  case 5:pucif+=twostate+9;break;
  case 6:pucif+=twostate+5;break;
  case 7:pucif+=twostate+8;break;
  case 8:pucif+=8;break;
  case 9:pucif+=7;break;
 }

  fprintf(fout,"%d\n",pucif%10);
}
   fclose(fin);
   fclose(fout);
return 0;
}