Non è che non ho capito il codice, non ho capito l'utilità!
E comunque
Avvisami se ho scritto qualche cavolata...codice:#include <stdio.h> int codice(u) char*u; { register i,s=0; int l,t; l=strlen(u); // l = lunghezza di u for (i=0;i<l;i++) per l cicli { t=(u[l-i-1]-'0')*(1+((i+1)%2)); //t= carattere opposto della stringa - char '0' * 2 con i pari, 1 con i dispari s+=(t<10 ? t:t-9); //s= s+t o s= s+t-9 a seconda.. } return 10-s%10; //torna un numero compreso tra 1 e 10 (10-[0-9]) = [1-10] } int main (argc, argv) int argc; char*argv[]; { while (--argc) printf ("%d\n", codice(*++argv)); }

Rispondi quotando