Zadanie pokazuje w prosty sposób jak wczytywać ilość testów (w przykładzie jest to 2)
Przykłady to ilość serii danych na wejściu programu oraz ilość danych
dla każdego przykładu (w pierwszy 5 [1, 2, 3, 4, 5] w drugim przypadku 2 [-100, 100])
Należy pamiętać o przejściu do nowej linii po wypisaniu wyniku dla każdego testu (zestawu danych).
Treść zadania:
Twoim zadaniem jest dodać wszystkie liczby całkowite podane na wejściu.
Wejście
W pierwszym wierszu znajduje się liczba t testów (0 < t < 100) Każdy
test opisany jest w następujący sposób. W pierwszym wierszu dana jest
liczba n - liczba liczb do zsumowania.
Następnie podanych jest n liczb pooddzielanych spacją.
Przykład
Input:
2
5
1 2 3 4 5
2
-100 100
Output:
15
0
Kod źródłowy w C:
#include <stdio.h> #include <stdlib.h> int main() { int i, n, t, x, y, z; scanf("%d",&i); for (y=0; y<i; ++y) { t = 0; x = 0; scanf("%d",&n); for (z=0; z<n; ++z) { scanf("%d",&x); t=t+x; } printf("%d\n",t); } return 0; }
Kod źródłowy w C++:
#include <iostream> using namespace std; int main() { int i, n, t, x, y, z; cin >> i ; for (y=0; y<i; y++) { t = 0; x = 0; cin>>n; for (z=0; z<n; z++) { cin>>x; t=t+x; } cout << t << endl; } return 0; }
ID zadania: 549
Link do zadania:
http://pl.spoj.com/problems/RNO_DOD/
Jak ten sędzia ze SPOJ ocenia, skoro na różne sposoby można robić kod i np. w Visual Studio działa kod poniżej, a na platformie SPOJ nie chce przyjąć i to z wieloma kodami się tak dzieje. Mają chyba jakiś swój algorytm, który nie rozumie myślenia innych ludzi.
OdpowiedzUsuń#include
using namespace std;
int t, n, liczba;
int main()
{
int wynik = 0;
cin >> t;
if (t > 0 && t < 100)
{
for (int i = 0; i < t; i++)
{
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> liczba;
wynik += liczba;
}
cout << wynik;
wynik = 0;
}
} else {
cout << "Out of range. Number of tests (1-99)" << endl;
return 0;
}
return 0;
}