정올(정보올림피아드&알고리즘)/Language_Coder

정올 158, 정올 159 : 배열1-형성평가9,10 (c언어) →CODINGKOOºº

it 킹왕짱 2022. 3. 5. 17:12
728x90

158

문제

정수를 입력받다가 0 이 입력되면 0 을 제외하고 그 때까지 입력 받은 개수를 출력한 후
입력받은 정수를 차례로 출력하되 그 수가 홀수이면 2배한 값을, 
짝수인 경우에는 2로 나눈 몫을 출력하는 프로그램을 작성하시오.

입력되는 정수의 개수는 100개 이하이다. 

 

코드

#include<stdio.h>
int main() {
int a[100], i, num = 0, hap = 0;
for (i = 0; i < 100; i++) {
scanf_s("%d", &a[i]);
if (a[i] == 0) {
break;
}
num++;
}
printf("%d\n", num);
for (i = 0; i < num; i++) {
if (a[i] % 2 == 0) {
printf("%d ", a[i] / 2);
}
else {
printf("%d ", a[i] * 2);
}
}
return 0;
}

 

문제 http://jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=58&sca=1090


159

문제

20 이하의 정수 n을 입력받고 n명의 점수를 입력받아 높은 점수부터 차례로 출력하는 프로그램을 작성하시오.

 

코드
#include<stdio.h>
int main() {
int a[20], num, i, j;
scanf("%d", &num);
for (i = 0; i < num; i++) {
scanf("%d", &a[i]);
}
for (i = 0; i < num - 1; i++) {
for (j = 0; j < num - i - 1; j++) {
if (a[j] < a[j + 1]) {
int tmp = a[j];
a[j] = a[j + 1];
a[j + 1] = tmp;
}
}
}

for (i = 0; i < num; i++) {
printf("%d\n", a[i]);
}
return 0;
}

 

문제 http://jungol.co.kr/bbs/board.php?bo_table=pbank&code=159&sca=1090

728x90
728x90