Witam, jak napisac program w C który będzie wyswietlał wszystkie liczby podzielne przez 5 z zakresu od 2 do 23 (5,10,15,20)?
0
3
Puścić pętlę od dwóch do dwudziestu trzech, w której testujesz podzielność przez pięć i wypisujesz, gdy zachodzi.
Potrzebne rzeczy:
- pętla
for
- operator
%
- test warunkowy
if
- funkcja
printf
do znalezienia w ulubionej wyszukiwarce.
Jak się zatniesz, to wrzuć kod, który masz i powiedz, z czym masz dalsze problemy.
10
#include <stdio.h>
int main(void) {
printf("5,10,15,20");
return 0;
}
2
#include <stdio.h>
int main()
{
unsigned i = 2;
for(;i<=23;!(i%5)?printf("%d, ",i):0,++i);
return 0;
}
Albo tak for(;++i<=23;!(i%5)?printf("%d, ",i):0);
jak kto woli.
3
Wersja bez dzielenia modulo:
#include <stdio.h>
int main()
{
unsigned int i = 5;
while(i <= 23) {
printf("%d, ", i);
i += 5;
}
return 0;
}
0
na razie mam tyle, jeżeli dało by się to polepszyc o funkcję if to było by miło. Tak czy siak dzięki
#include <stdio.h>
int main()
{
int i = 2;
int x = 23;
printf("Poczatek zakresu to %d a koniec zakresu to %d \n", i, x);
printf("Liczby podzielne przez 5 to: ");
for(;++i<=23;!(i%5)?printf("%d ",i):0);
return 0;
}
3
Wersja bez użycia 5, 2 i 23 za to z if:
#include <stdio.h>
int main()
{
unsigned int i = 0;
char arr[] = "XXXXXOXXXXOXXXXOXXXXOXXX\0";
while(arr[++i]) {
if (!(arr[i] ^ 'O')) {
printf("%d, ", i);
}
}
return 0;
}
0
-
if
nie jest funkcją. - Jeśli nie wiesz, co robi operator ternarny
?
, to go nie używaj. Jeśli wiesz, to też go nie używaj.
if (warunek) {cośtam}
wykonuje cośtam
, jeśli spełniony jest warunek
. Czyli jeśli chcesz testować podzielność przez pięć, to if (0 == i%5)
.
0
main($,_){return _&&!($=0)&&main(20,0)||$&&main($-5,_)&&printf("%d,",$),1;}
to wciaz c ale bez brzydkich ifow, petli i modulo :)
ma ktos pomysl jak to skrocic?