Código:#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// LEITURA CPF
// http://www.gerardocumentos.com.br/entenda-a-formula-do-cpf
int main(){
char cpf[12];//2 HORAS TOMANDO NA CABEÇA PORQUE COLOCOU O TAMANHO DO VETOR COMO 11 E ESQUECEU DO \0 PQP SOU MTO BURRO.
int i,j,test[11],cpfint[11],cpfint1[11],soma=0,qsoma,cpforiginal[11];
int t;
int validado;
fflush(stdin);//PQPPPPPPPPPPPPPPPPPPPP!!!!!!!!111
//__fpurge(stdin);// QUE PARIU DESSE BUFFER QUE NAO SE LIMPA SOZINHO.
// leitura do cpf.
printf("Digite um cpf: ");
fflush(stdin);
fgets(cpf,12,stdin);
//__fpurge(stdin);
fflush(stdin);
for(i=0;i<11;i++)// CONVERSOR DE CHAR PRA INT.
{
test[i]=cpf[i]-48;
cpforiginal[i]=cpf[i]-48;// 48 na tabela ascii eh 0 entao eu tiro 48 pra converter pra int
}
j=10;
for(i=0;i<9;i++)
{
cpfint[i]=test[i]*j;
j--;
soma+=cpfint[i];
//printf("Cpfint %d\n",cpfint[i]);
}
qsoma=soma%11;
//printf("Quociente vale %d\n",qsoma);
if(qsoma<2)
{
cpfint[9]=0;
test[9]=0;
}
else
{
cpfint[9]=11-qsoma;
test[9]=11-qsoma;
}
j=11;
soma=0;
qsoma=0;
for(i=0;i<10;i++)
{
cpfint1[i]=test[i]*j;
j--;
// printf("Cpf: %d\n",cpfint1[i]);
soma+=cpfint1[i];
}
qsoma=soma%11;
//printf("Quociente vale %d\n",qsoma);
if(qsoma<2)
{
cpfint[10]=0;
test[10]=0;
}
else
{
cpfint[10]=11-qsoma;
test[10]=11-qsoma;
}
if((test[10]==cpforiginal[10])&&test[9]==cpforiginal[9])
{
validado=1;
printf("CPF VALIDO.");
}
else{
validado=0;
printf("CPF INVALIDO");
}
}