Kezdőoldal » Számítástechnika » Programozás » Ez miért nem működik nekem...

Tordy József kérdése:

Ez miért nem működik nekem sima C-ben?

Figyelt kérdés

#include <stdio.h>

#include <stdlib.h>


int main(void)

{

int a, b;

b=2;

printf("Adj meg egy pozitiv egesz szamot:\n");

scanf("%d",&a);

while(b<=a){

if(a%b==0){

a = a % b;

printf("%d*",b);

}

else {

b=b+1;

}

}

return 0;

}


Mindig csak az első prímtényezőt írja ki. Aztán nem folytatja. Miért? Mi a fenét nem veszek észre???



2019. jan. 8. 17:34
 1/5 anonim ***** válasza:
100%

a = a % b;


Akármilyen számot írsz be, mindig egyenlővé teszed az a-t a 2-vel való maradékjával: 0 vagy 1 lesz belőle, ami mindenképp kisebb, mint a b, és a ciklusod megáll.

2019. jan. 8. 17:57
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:
Értem. Sikerült és köszönöm szépen. Egy kérdésem még lenne. Mi a különbség a "%" és a "/" között? Ugyanis a műveleti jel átírása után már jó volt a képlet.
2019. jan. 8. 19:17
 3/5 anonim ***** válasza:
100%
A "%" operátor osztási maradékot képez, a "/" meg eloszt két operandust.
2019. jan. 8. 19:52
Hasznos számodra ez a válasz?
 4/5 A kérdező kommentje:
Hülyeséget kérdeztem. Bent van a válaszodban, hogy mi a különbség. Köszi még 1x! :D
2019. jan. 8. 19:52
 5/5 tabaki ***** válasza:
58%
Nem tartozik szorosabban a kérdéshez, meg nem is okoz problémát, de az #include <stdlib.h> szerintem nem szükséges, az a=a/b és a b=b+1 meg lehetne „césebben” a/=b, illetve b++ is.
2019. jan. 8. 20:40
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!