Napisz program, który wczytuje kolejno liczby rzeczywiste aż do momentu gdy użytkownik poda wartość 0, po czym wyświetla sumę wczytanych liczb.
Dane: ciąg liczb rzeczywistych zakończonych wartością 0
Wynik: suma podanych liczb
Przykład:
1 2 3 0 suma 6.000000
5 3.1 -2.5 0 suma 5.600000
Rozbuduj program z poprzedniego zadania tak aby dla podanego ciągu liczb obok sumy wyświetlał także wartości:
Końcowa wartość 0 nie jest brana do obliczeń.
Dane: ciąg liczb rzeczywistych zakończonych wartością 0
Wynik: ilość podanych liczb, ilość liczb większych od 0, suma, średnia, wartość minimalna i maksymalna z podanych liczb
Przykład:
1 2 3 0 ilosc 3 dodatnie 3 suma 6.000000 srednia 2 min 1 max 3
5 3.1 -2.5 0 ilosc 3 dodatnie 2 suma 5.600000 srednia 1.866 min -2.500000 max 5.000000
Problem: rozkład liczby całkowitej na czynniki pierwsze
Dane: liczba całkowita n
Wynik: ciąg liczb pierwszych większych od 1, których iloczyn wynosi n
Przykładowe wyniki
n=10 2 5
n=12 2 2 3
n=149 149
Napisz grę w której użytkownik próbuje odgadnąć pewną wylosowaną wartość całkowitą z zakresu od 1 do 100. W zależności o podanej przez użytkownika liczby całkowitej program:
Na koniec program wyświetla także komunikat o liczbie podjętych przez użytkownika prób.
Do losowania liczb całkowitych wykorzystaj funkcję rand()
z biblioteki stdlib.h
.
int rand(void);
Funkcja ta przy każdym uruchomieniu zwraca liczbę całkowitą pseudolosową z zakresu od 0 do wartości określonej przez RAND_MAX
. Generator liczb losowych można zainicjować za pomocą funkcji srand()
void srand(int seed);
Chcąc uzyskać za każdym razem inny ciąg liczb najwygodniej jest zainicjować generator wartością związaną z aktualnym czasem: funkcja time()
z biblioteki time.h
. Zwraca ina liczbę sekund od
Przykład
#include <stdlib.h> #include <stdio.h> #include <time.h> int main() { int i=0; srand(time(0)); while(i<10) { printf("%d\n",rand()); i = i +1; } }
Przykładowe wyniki
2 za malo 50 za duzo 49 Brawo! Liczba podejsc 3
2 za malo 50 za duzo 0 Szukana liczba to 3 Liczba podejsc 2