Programska petlja while
2. Zadaci za vježbu
1. U programima koji slijede učinjena je pogreška zbog koje programi ne rade ispravno. Ne zaboravite da pogreška ne mora uvijek biti sintaktička nego može biti i logička. Pronađite pogrešku bez uporabe računala!
a)
#include <stdio.h>int main()
{
int s=0, n;
printf ("\nUpisite broj: ");
scanf("%d",&n);
while (i=1;i<=n)
{
s+=i;
i+=3;
}
printf("Zbroj je %d",s);
return 0;
}
b)
#include <stdio.h>int main()
{
int s=0, i=1, n, znam;
printf ("\nUpisite broj: ");
scanf("%d",&n);
while (n!=0)
{
znam=n%10;
s+=znam;
}
n/=10;
printf("Zbroj je %d",s);
return 0;
}
Nakon ispravljenih pogreški odgovorite: Što rade prikazani programi?
2. Bez upisivanja programa odgovorite na pitanje: Kada se ovaj program izvrši, što će se ispisati na zaslonu?
#include <stdio.h>int main()
{
int i=1,f=1,n=6;
while(i<=n)
{
f*=i;i++;
}
printf("\n%d! = %d",n,f);
return 0;
3. Napišite program koji će od korisnika tražiti upisivanje jednoga prirodnog broja. Program treba upisani broj rastaviti na proste faktore i ispisati ih.
Ulaz: 12
Izlaz: 12=1*2*2*3
4. Napišite program koji će na zaslonu ispisati najveću i najmanju znamenku učitanog broja.
Ulaz: 2583476
Izlaz: Najmanja znamenka je 2, a najveca 8
5. Napišite program koji omogućuje upisivanje broja u binarnom brojevnom sustavu. Program treba upisani broj pretvoriti u dekadski i rezultat ispisati na zaslonu.
Ulaz: 10110101
Izlaz: 181