abc Programski jezik C 6.4. Izdvajanje cifara dvocifrenog, trocifrenog, ... broja
6.4.1. Izdvojiti cifre dvocifrenog broja. Ispisati prvi cifru desetica pa cifru jedinica.
Opis rješenja: Pri pretvaranju se koristi osobina pozicionog sistema. Dvocifren broj
broj = x*101 + y*100
Ostatak dijeljenja dvocifrenog broja sa 10 (broj % 10) dobijamo vrijednost jedinice broja (u ovom slučaju dvocifrenog). Cjelobrojnim dijeljene sa 10 (broj // 10) dvocifrenog broja se dobija vrijednost cifre desetica.
Ispisati prvi cifru desetica pa cifru jedinica.
Opis programa:
Listing programa:
// 06411109
#include <stdio.h>
int main()
{
int x, y, broj;
printf("Dvocifren broj:");
scanf("%d",&broj);
x = broj / 10; // cifra desetica
y = broj % 10; // cifra jedinica
printf("Broj= %d Cifra desetica= %d Cifra jedinica= %d", broj, x, y); // ispis
return 0;
}
Ispis na ekranu:
Dvocifren broj 34
Broj= 34 Cifra desetica= 3 Cifra jedinica= 4
6.4.2. Izdvojiti cifre
dvocifrenog broja i ispisati unazad.
Opis rješenja: Pri pretvaranju se koristi osobina pozicionog sistema. Dvocifren broj
broj = x*101 + y*100
Ostatak dijeljenja dvocifrenog broja sa 10 (broj % 10) dobijamo jedinice broja (u ovom slučaju dvocifrenog). Cjelobrojnim dijeljene sa 10 (broj // 10) dvocifrenog broja se dobija cifra desetica.
Ispisati prvi cifru desetica pa cifru jedinica.
Opis programa:
Listing programa:
// 06411102
#include <stdio.h>
int main()
{
int x, y, broj;
printf("Dvocifren broj:");
scanf("%d",&broj);
x = broj / 10; // cifra desetica
y = broj % 10; // cifra jedinica
printf("Broj= %d Cifra jedinica= %d Cifra desetica= %d", broj, y, x); // ispis
return 0;
}
Ispis na ekranu:
Dvocifren broj 23
Broj= 23 Cifra jedinica= 3 Cifra desetica= 2
6.4.3. Izdvojiti cifre dvocifrenog broja. Sabrati cifre i ispisati broj, cifre i sumu.
Opis rješenja: Pri pretvaranju se koristi osobina pozicionog sistema. Dvocifren broj
broj = x*101 + y*100
Ostatak dijeljenja dvocifrenog broja sa 10 (broj // 10) dobijamo jedinice broja (u ovom slučaju dvocifrenog). Cjelobrojnim dijeljene sa 10 (broj // 10) dvocifrenog broja se dobija cifra desetica.
Ispisati prvo cifru desetica pa cifru jedinica.
Opis programa:
Listing programa:
// 06411103
#include <stdio.h>
int main()
{
int x, y, s, broj;
printf("Dvocifren broj:");
scanf("%d",&broj);
x = broj / 10; // cifra desetica
y = broj % 10; // cifra jedinica
s = x + y; // suma cifara
printf("Broj= %d Cifra desetica= %d Cifra jedinica= %d Suma cifra= %d", broj, x, y, s); // ispis
return 0;
}
Ispis na ekranu:
Dvocifren broj 23
Broj= 23 Cifra desetica= 2 Cifra jedinica= 3 Suma cifra= 5
6.4.4. Izdvojiti cifre trocifrenog broja. Ispisati izdvojene cifre.
Opis rješenja: Pri pretvaranju se koristi osobina pozicionog sistema.Trocifren broj
broj = x*102 + y*101 + z*100
Izrazom (broj % 10) dobijamo jedinice broja (u ovom slučaju trocifrenog). Cjelobrojnim dijeljene sa 10 (broj // 10) dobija se dvocifren broj.
Zatim ponoviti postupak iz prethodnog zadatka.
Opis programa:
Listing programa:
# 06411104
#include <stdio.h>
int main()
{
int x, y, z, t, broj;
printf("Trocifren broj:");
scanf("%d", &broj);
z = broj % 10; // cifra jedinica
t = broj / 10; // podijeli trocifreni broj sa 10
y = t % 10; // cifra desetica (iz dvocifrenog dijela)
x = t / 10; // cifra stotica (iz dvocifrenog dijela)
printf("Trocifren broj= %d Cifra stotica= %d Cifra desetica= %d Cifra jedinica= %d", broj, x, y, z); // ispis
return 0;
}
Ispis na ekranu:
Trocifren broj 236
Trocifren broj= 236 Cifra stotica= 2 Cifra desetica= 3 Cifra jedinica= 6
6.4.5. Izdvojiti cifre trocifrenog broja. Ispisati izdvojene cifre unazad.
Opis rješenja: Pri pretvaranju se koristi osobina pozicionog sistema.Trocifren broj
broj = x*102 + y*101 + z*100
Izrazom (broj % 10) dobijamo jedinice broja (u ovom slučaju trocifrenog). Cjelobrojnim dijeljene sa 10 (broj // 10) dobija se dvocifren broj.
Zatim ponoviti postupak iz prethodnog zadatka.
Ispisati izdvojene cifre unazad.
Opis programa:
Listing programa:
// 06411105
#include <stdio.h>
int main()
{
int x, y, z, t, broj;
printf("Trocifren broj:");
scanf("%d", &broj);
z = broj % 10; // cifra jedinica
t = broj / 10; // podijeli trocifreni broj sa 10
y = t % 10; // cifra desetica (iz dvocifrenog dijela)
x = t / 10; // cifra stotica (iz dvocifrenog dijela)
printf("Trocifren broj= %d Cifra jedinica= %d Cifra desetica= %d Cifra stotica= %d", broj, z, y, x); // ispis
return 0;
}
Ispis na ekranu:
Trocifren broj 234
Trocifren broj= 234 Cifra jedinica= 4 Cifra desetica= 3 Cifra stotica= 2
6.4.6. Izdvojiti cifre trocifrenog broja. Sabrati izdvojene cifre.
Opis rješenja: Pri pretvaranju se koristi osobina pozicionog sistema.Trocifren broj
broj = x*102 + y*101 + z*100
Izrazom (broj % 10) dobijamo jedinice broja (u ovom slučaju trocifrenog). Cjelobrojnim dijeljene sa 10 (broj // 10) dobija se dvocifren broj.
Zatim ponoviti postupak iz prethodnog zadatka.
Opis programa:
Listing programa:
// 06411106
#include <stdio.h>
int main()
{
int x, y, z, t, broj, s;
printf("Trocifren broj:");
scanf("%d", &broj);
z = broj % 10; // cifra jedinica
t = broj / 10; // prve dvije cifre
y = t % 10; // cifra desetica (iz dvocifrenog dijela)
x = t / 10; // cifra stotica (iz dvocifrenog dijela)
s = x + y + z; // suma cifra
printf("Trocifren broj= %d Cifra stotica= %d Cifra desetica= %d Cifra jedinica= %d Suma cifara= %d", broj, x, y, z, s); // ispis
return 0;
}
Ispis na ekranu:
Trocifren broj 123
Trocifren broj= 123 Cifra stotica= 1 Cifra desetica= 2 Cifra jedinica= 3 Suma cifara= 6
6.4.7. Izdvojiti cifre četverocifrenog broja.
Opis rješenja: Izrazom (broj % 10) dobijamo jedinice broja (u ovom slučaju dvocifrenog). Cjelobrojnim dijeljene sa 10 (broj // 10) dobija se dvocifren broj.
Zatim ponoviti postupak iz prethodnog zadatka.
Opis programa: Pri pretvaranju se koristi osobina pozicionog sistema.Četverocifren broj
broj = w*103 + x*102 + y*101 + z*100
Listing programa:
// 06411107
#include <stdio.h>
int main()
{
int x, y, z, w, t, broj;
printf("Cetverocifren broj:");
scanf("%d", &broj); // ulaz
z = broj % 10; // cifra jedinica
t = broj / 10; // prve tri cifre
y = t % 10; // cifra desetica
t = t / 10; // prve dvije cifre
x = t % 10; // cifra stotica
w = t / 10; // cifra hiljadica
printf("Cetverocifren broj= %d Cifra hiljadica= %d Cifra stotica= %d Cifra desetica= %d Cifra jedinica= %d", broj, w, x, y, z); // ispis
return 0;
}
Ispis na ekranu:
Cetverocifren broj 2345
Cetverocifren broj= 2345 Cifra hiljadica= 2 Cifra stotica= 3 Cifra desetica= 4 Cifra jedinica= 5
6.4.8. Napisati program koji učitava četverocifreni broj i ispisuje cifre unazad.
Opis rješenja: Izrazom (broj % 10) dobijamo jedinice broja (u ovom slučaju dvocifrenog). Cjelobrojnim dijeljene sa 10 (broj // 10) dobija se dvocifren broj.
Zatim ponoviti postupak iz prethodnog zadatka.
Opis programa: Pri pretvaranju se koristi osobina pozicionog sistema.Četverocifren broj
broj = w*103 + x*102 + y*101 + z*100
Listing programa:
// 06411108
#include <stdio.h>
int main()
{
int x, y, z, w, t, broj;
printf("Cetverocifren broj:");
scanf("%d", &broj); // ulaz
z = broj % 10; // cifra jedinica
t = broj / 10; // prve tri cifre
y = t % 10; // cifra desetica
t = t / 10; // prve dvije cifre
x = t % 10; // cifra stotica
w = t / 10; // cifra hiljadica
printf("Cetverocifren broj= %d Cifra jedinica= %d Cifra desetica= %d Cifra stotica= %d Cifra hiljadica= %d", broj, z, y, x, w); // ispis
return 0;
}
Ispis na ekranu:
Cetverocifren broj 2345
Cetverocifren broj= 2345 Cifra jedinica= 5 Cifra desetica= 4 Cifra stotica= 3 Cifra hiljadica= 2
6.4.9. Napisati program za ispis trocifrenih brojeva koji su jedanki sumi kubova svojih cifara (Amstrongov broj).
Opis rješenja: Izdvajanje cifara iz dvocivrenog broja je:
a = i // 100 - Količnik dijeljenja sa 100 je cifra desetica
b = i % 100 // 10 Ostatak dijeljnja sa 100 je dvocifren broj a dijeljnjem dvocifrenog broja sa 10 cjelobrojni količnik je cifra desetica.
c = i % 10
Ostatak dijeljna sa 10 je cifra jedinica.
Sabiraju se kubovi svih cifara i provjera da li je suma jednak trocifrenom broju. Ako je ispunjen uslov to je Amstrongov broj.
Listing programa:
# 14612034
#include <stdio.h>
int main()
{
printf("Armstrongovi brojevi\n");
int i, a, b, c;
for ( i = 100; i <= 999; i++) { // ponavljanje za i=100 do i=999 - pocetak petlje
a = i / 100;
b = i % 100 / 10;
c = i % 10;
if (a*a*a + b*b*b + c*c*c == i)
printf("%d - Armstrongov broj\n", i);
}
}
Ispis na ekranu:
Index
|