On vous donne une séquence d’entiers en entrée, terminée par un -1. (C’est-à-dire que les entiers d’entrée peuvent être positifs, négatifs ou 0. Un -1 dans l’entrée signale la fin de l’entrée.)
-1 n’est pas considéré comme faisant partie de l’entrée.
Recherchez le deuxième plus grand nombre dans l’entrée. Vous ne pouvez pas utiliser de tableaux.
Les cas de test réussissent mais le score est de 0.0
Voici le code
int main() { int a=-32768,b=-32768,temp=-32768; while(1) { scanf("%d",&a); if(a==-1) break; else if(a>0) { temp=b; b=a; } else { if(a>b) { temp=b; b=a; } else { temp=b; } } } printf("%d",temp); return 0; }
Mauvaise vérification de la valeur dans votre chemin. Par exemple, comme ça
#include #define EOI -1 //End Of Input int main(void){ int input, first, second; first = second = EOI; while(1){ if(1 != scanf("%d", &input)){ fprintf(stderr, "invalid input!\n"); return -1; } if(input == EOI) break; if(first == EOI){ first = input; } else if(first <= input){ second = first;//slide first = input; } else if(second == EOI || second < input){ second = input; } } if(second == EOI){//first == EOI || second == EOI fprintf(stderr, "No valid value is entered more than one!\n"); return -2; } printf("%d\n", second); return 0; }