Cod sursa(job #441852)

Utilizator mayi_rmbunget marius andrei mayi_rm Data 13 aprilie 2010 16:12:12
Problema Cifra Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 1.17 kb
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
 
int main()
{
    FILE *fpIn, *fpOut;
    char nr[101];
    int sArray[] =
    {0, 1, 5, 2, 8, 3, 9, 2, 8, 7,
     7, 8, 4, 7, 3, 8, 4, 1, 5, 4,
     4, 5, 9, 6, 2, 7, 3, 6, 2, 1,
     1, 2, 8, 1, 7, 2, 8, 5, 9, 8,
     8, 9, 3, 0, 6, 1, 7, 0, 6, 5,
     5, 6, 2, 5, 1, 6, 2, 9, 3, 2,
     2, 3, 7, 4, 0, 5, 1, 4, 0, 9,
     9, 0, 6, 9, 5, 0, 6, 3, 7, 6,
     6, 7, 1, 8, 4, 9, 5, 8, 4, 3,
     3, 4, 0, 3, 9, 4, 0, 7, 1, 0};
 
 
    fpIn = fopen("cifra.in","r");
    if (fpIn == NULL) {
        fprintf(stderr, "Eroare accesare adunare.in\n");
        exit(1);
    }
 
    fpOut = fopen("cifra.out","w");
    if (fpOut == NULL) {
        fprintf(stderr, "Eroare accesare adunare.out\n");
        exit(1);
    }
 
    fscanf(fpIn, "%s", nr);
 
    while (fscanf(fpIn, "%s", nr) != EOF) {
        int l = strlen(nr);
        if ( l > 1) {
            fprintf(fpOut, "%d\n", sArray[(((nr[l-2]-'0')*10)+nr[l-1]-'0')%100]);
        } else {
            fprintf(fpOut, "%d\n", sArray[(nr[l-1]-'0')%100]);
        }
    }
 
    fclose(fpIn);
    fclose(fpOut);
 
    return 0;
}