c - while neopakuje sa
Ahoj mam problem z napisanim programu ktory najde najvacsiu cifru lubovolneho cisla. While na neopakuje takze vzdy mi to ako najvacsiu cifru napise tu poslednu. Neviete preco?
#include <stdio.h>
#include <stdlib.h>
#include "Funkcia.h"
int main()
{
long cislo;
int vysledok;
printf("Program na zistenie najvacsej cifry lubovolneho prir. cisla\n");
printf("Zadaj cislo: ");
scanf("%ld",&cislo);
vysledok=max_cifra(cislo);
printf("%d",vysledok);
return 0;
}
int max_cifra(long cislo)
{
int max_cifra=0;
int cifra;
while(cislo>0)
{
cislo=cislo%10;
cifra=cislo;
cislo=cislo/10;
printf("%d\n",cifra);
if(cifra>max_cifra)
{
max_cifra=cifra;
}
}
return max_cifra;
}
cislo=cislo%10;
ti znici premennu cislo. Skus sa nad tym este raz zamysliet a urobit to spravne. Tip: nebudu to 3riadky ale len 2
A hned je tam 0.
no vlastne ano :D dakujem moc :)
Tip pre buducnost: kazde vyvojove prostredie ma aj debugger kde si to vies krokovat a sledovat premenne. Keby sa kazdy clovek kazdu chybu pytal na nejakej poradni ze co naprogramoval blbo, tak by to moc dobre nedopadlo.