int main()

Transkrypt

int main()
________________________________
Imię i nazwisko
________
Numer indeksu
drukowanymi literami
____________
Login (SPOJ)
czas pisania: 45 minut
30 listopad 2010
Zad. 1. (6 pkt.) Każde z wyróżnionych pól (___) uzupełnij co najwyżej 3 znakami, różnymi od
przecinka i średnika, tak aby program po uruchomieniu wypisywał tekst: 07
#include <stdio.h>
int main() {
int x[] = {1, 0, 0, 7, 4, 5}, i = 2;
while ( i < 6 ) {
printf ("%d", x[i-1]);
i+=2;
}
}
Zad. 2. (4 pkt.) Jaki tekst zostanie wypisany przez poniższy program?
Wynik: s:w-2-za
#include <stdio.h>
void zagadka(char *s, char *d) {
int i=3, j=0;
while ( *(s+i) != '!' ) {
d[j++] = s[++i];
if ( s[i] >= 'a' && s[i] <= 'z' ) i+=4; else i-=2;
}
d[j] = '\0';
}
int main() {
char x[100] = "Sprawdz-2-razy!!!!!";
char y[100];
zagadka(x, y);
printf("s:%s", y);
}
Zad. 3. (10 pkt.) Obok każdego wywołania funkcji printf, uzupełnij tekst, który zostanie
wypisany. Wpisz BŁĄD jeśli nie można tego jednoznacznie określić.
#include <stdio.h>
int x;
int main() {
int a=1, b=2, c=15;
char s[] = {'d','e','g'}, *p = s+2;
printf ("%d", a < b ? 3 : 4);
printf ("%d", x - a);
printf ("%d", 7 ^ 4);
printf ("%d", c>>b);
printf ("%d", (s[b] - 'a') / b);
printf ("%d", b & c);
printf ("%c", *(--p));
printf ("%d-%d", p[0] - 'f', c / b / (a + 1));
printf ("%c", p[0] + 1);
printf ("%c", *(s) + 2);
printf ("%c", *(s + 2));
}
3
-1
3
3
3
2
e
-1-3
f
f
g
________________________________
Imię i nazwisko
________
Numer indeksu
drukowanymi literami
____________
Login (SPOJ)
czas pisania: 45 minut
30 listopad 2010
Zad. 1. (6 pkt.) Każde z wyróżnionych pól (___) uzupełnij co najwyżej 3 znakami, różnymi od
przecinka i średnika, tak aby program po uruchomieniu wypisywał tekst: 17
#include <stdio.h>
int main() {
int x[] = {1, 0, 0, 7, 4, 5}, i = 1;
while ( i < 7 ) {
printf ("%d", x[i-1]);
i+=3;
}
}
Zad. 2. (4 pkt.) Jaki tekst zostanie wypisany przez poniższy program?
Wynik: s:a2-za
#include <stdio.h>
void zagadka(char *s, char *d) {
int i=2, j=0;
while ( *(s+i) != '!' ) {
d[j++] = s[++i];
if ( s[i] >= 'a' && s[i] <= 'z' ) i+=4; else i-=2;
}
d[j] = '\0';
}
int main() {
char x[100] = "Sprawdz-2-razy!!!!!";
char y[100];
zagadka(x, y);
printf("s:%s", y);
}
Zad. 3. (10 pkt.) Obok każdego wywołania funkcji printf, uzupełnij tekst, który zostanie
wypisany. Wpisz BŁĄD jeśli nie można tego jednoznacznie określić.
#include <stdio.h>
int x;
int main() {
int a=1, b=3, c=15;
char s[] = {'d','g','h'}, *p = s+2;
printf ("%d", a < b ? 4 : 3);
printf ("%d", x - a);
printf ("%d", 6 ^ 3);
printf ("%d", c>>b);
printf ("%d", (s[a] - 'a') / b);
printf ("%d", b & c);
printf ("%c", *(--p));
printf ("%d-%d", p[0] - 'f', c / b / (a + 1));
printf ("%c", p[0] + 1);
printf ("%c", *(s) + 2);
printf ("%c", *(s + 2));
}
4
-1
5
1
2
3
g
1-2
h
f
h
________________________________
Imię i nazwisko
________
Numer indeksu
drukowanymi literami
____________
Login (SPOJ)
czas pisania: 45 minut
30 listopad 2010
Zad. 1. (6 pkt.) Każde z wyróżnionych pól (___) uzupełnij co najwyżej 3 znakami, różnymi od
przecinka i średnika, tak aby program po uruchomieniu wypisywał tekst: 07
#include <stdio.h>
int main() {
int x[] = {1, 0, 0, 7, 4, 5}, i = 0;
while ( i < 4 ) {
printf ("%d", x[i+1]);
i+=2;
}
}
Zad. 2. (4 pkt.) Jaki tekst zostanie wypisany przez poniższy program?
Wynik: s:-2-za
#include <stdio.h>
void zagadka(char *s, char *d) {
int i=8, j=0;
while ( *(s+i) != '!' ) {
d[j++] = s[++i];
if ( s[i] >= 'a' && s[i] <= 'z' ) i+=4; else i-=2;
}
d[j] = '\0';
}
int main() {
char x[100] = "Sprawdz-2-razy!!!!!";
char y[100];
zagadka(x, y);
printf("s:%s", y);
}
Zad. 3. (10 pkt.) Obok każdego wywołania funkcji printf, uzupełnij tekst, który zostanie
wypisany. Wpisz BŁĄD jeśli nie można tego jednoznacznie określić.
#include <stdio.h>
int x;
int main() {
int a=1, b=2, c=14;
char s[] = {'g','d','e'}, *p = s+2;
printf ("%d", c < b ? 4 : 5);
printf ("%d", x - a);
printf ("%d", 7 ^ 3);
printf ("%d", c>>b);
printf ("%d", (s[b] - 'a' + 1) / b);
printf ("%d", (b + 1) & c);
printf ("%c", *(--p));
printf ("%d-%d", p[0] - 'f', c / b / (a + 1));
printf ("%c", p[1] + 1);
printf ("%c", *(s) + 2);
printf ("%c", *(s + 2));
}
5
-1
4
3
2
2
d
-2-3
f
i
e