POLSKI SPOJ

Problem hidden
This problem was hidden by Editorial Board member probably because it has incorrect language version or invalid test data, or description of the problem is not clear.

Zadanie w systemie SPOJ (latwe)

997. Kalkulator

Kod zadania: CALC

Napisz program, który działa jak prosty kalkulator obsługujący pięć operacji: dodawanie, odejmowanie, mnożenie, dzielenie i obliczanie reszty z dzielenia liczb całkowitych.

Wejście

Na wejście programu podana zostanie pewna liczba zestawów danych. Zestawy składają się z jednoznakowego symbolu operacji do wykonania (+ dodawanie, - odejmowanie, * mnożenie, / dzielenie całkowitoliczbowe, % reszta z dzielenia) oraz następujących po nim dwóch liczb całkowitych. Poszczególne składowe zestawu zostaną rozdzielone spacjami, a same zestawy znakiem nowej linii. Liczba testów nie przekracza 100, wynik zawiera się w typie int32.

Wyjście

Na wyjściu programu ma się pojawić ciąg liczb będących rezultatem wykonania pojawiających się na wejściu poleceń. Poszczególne liczby należy rozdzielić znakami nowej linii. Uwaga! Można założyć, że dane wejściowe nie zawierają polecenia dzielenia przez 0.

Przykład

Wejście:

 

  + 7 9
  - 0 4
  * 5 6
  / 8 3
  % 5 2

 

Wyjście:

 

  16
  -4
  30
  2
  1

 


Dodane przez:Robert Janczewski
Data dodania:2006-10-24
Limit czasu wykonania programu:1s
Limit długości kodu źródłowego50000B
Języki programowania:C C++ 4.0.0-8

ukryj komentarze
2012-04-09 22:19:28 Marcin Klima
Jaki warunek w pętli while ? Jak ktoś potrafi, niech wytłumaczy, a nie podaje gotowca ^^
2012-01-06 01:43:16 Krzysztof Kozłowski


Ostatnio edytowany: 2012-04-08 18:54:01
2011-12-10 12:33:03 Paweł Talar
@Xxx xxx - Dane musisz wczytać pętlą while :D
2011-11-05 11:37:55 Xxx xxx
Czy ktoś może jakoś prościej wytłumaczyć jak zakończyć wczytywanie danych?
2011-08-25 22:46:22 Maciej Boniecki
Bo po wczytaniu pierwszej linii następnym znakiem na wejściu jest \n generowany przez wciśnięcie Enter. Ponieważ jest to znak jak każdy inny to %c wczytuje właśnie jego. Jakbyś dał sobie printf("%d\n", znak); to powinieneś otrzymać wartość 10 czyli kod ASCII \n.
2011-08-25 22:14:01 Robert Wesołowski
Trochę to dziwne bo napisałem w C i przy pobieraniu przez scanf("%c %d %d",&znak, &a, &b) pierwszą linię pobrał, drugiej nie, trzecią i dalsze - tak. Wystarczyło zmienić %c na %s i problem zniknął, ktoś mi może powiedzieć dlaczego tak się dzieje?
2010-12-03 10:10:31 Paweł (Ronson)
Dziwny błąd, na ideone.com pokazuje że wszystko w porządku a tutaj pisze, że błędna odpowiedź.

Ostatnio edytowany: 2010-12-03 10:52:57
2010-11-15 16:38:46 Piotr Kąkol
@Michał Pawłowski - Przeczytaj komentarze poniżej...
2010-11-15 11:07:58 Michał Pawłowski
Mógłby ktoś powiedzieć, kiedy ma zostać w tym zadaniu zakończone wczytywanie danych? Jaki warunek?
2010-10-19 21:46:17 Piotr Kąkol
@Michał Recław - Przeczytaj: link, jeśli chcesz wiedzieć, czemu miałeś WA. :-)
SPOJ System © 2012 Sphere Research Labs | Projekty informatyczne i aplikacje na zamówienie. All Rights Reserved.