All pastes #180416 Raw Edit

Mine

public c v1 · immutable
#180416 ·published 2006-09-23 03:44 UTC
rendered paste body
#include <stdio.h>float V;	// V= aposta R$char N[7], M[7];	// N = numero jogado; M = numero sorteadoint entrada();void resultado();int main(){	while(entrada()){		char *pt_N, *pt_M, *pt_NE, *pt_ME;		unsigned int i, match;		pt_N = N; pt_M = M;				// Ponteiros para o fim do conteúdo das strings (NULL)		for (pt_NE = N; *pt_NE!=NULL; pt_NE++);		for (pt_ME = M; *pt_ME!=NULL; pt_ME++);				// Se tiver menos de 4 caracteres, complemente com zero		i = (pt_NE-pt_N)+1; // Tamanho, com NULL incluido		if (i<5) {			match = 5-i;			while(i--) *(pt_N+(match+i)) = *(pt_N+i);	// copia para proximas localidades			while(match--) *(pt_N+match) = '0';	// Preenche anteriores com zero.			pt_NE = N+4;	// atualiza pt_NE		}		i = (pt_ME-pt_M)+1; // Tamanho, com NULL incluido		if (i<5) {			match = 5-i;			while(i--) *(pt_M+(match+i)) = *(pt_M+i);	// copia para proximas localidades			while(match--) *(pt_M+match) = '0';	// Preenche anteriores com zero.			pt_ME = M+4;	// atualiza pt_ME		}				// Encontra algarismos iguais nos 4 ultimos.		match = 0;		for(i=1;i<5;i++){			if (*(pt_NE-i) == *(pt_ME-i)) match++;			else break;					}		if (match == 2) resultado(50);		else if (match == 3) resultado(500);		else if (match == 4) resultado(3000);		else { // procuramos o bicho			unsigned int i_N, i_M;			// Transformamos os dois ultimos algarismos em um inteiro			for (; (pt_NE-2) > pt_N; pt_N++) *pt_N = '0';			for (; (pt_ME-2) > pt_M; pt_M++) *pt_M = '0'; // Só restarão os dois ultimos algarismos != 0			// Agora, dividimos por 4 e somamos 1 se houver resto.			i_N = atoi(N)/4;			i_M = atoi(M)/4;			if (i_N%4) i_N++;			if (i_M%4) i_M++;						// Pronto, podemos comparar			if (i_N == i_M) resultado(16); // bicho			else resultado(0);	// nada		}	// Proximo...	}}						int entrada(){ // retorna zero se entrada for 0 0 0	// Entrada: <aposta R$> <nnumero jogado> <numero sorteado>	// Final da entrada: 0 0 0	scanf("%f %s %s", &V, N, M);	if ((V==0)&&(atoi(N)==0)&&(atoi(M)==0)) return 0;	return 1;}void resultado(int fator) { printf("%.2f\n", fator*V); }