728x90
반응형
◎ 2023년 1회 02번
#include <stdio.h>
int main() {
char a[] = "Art";
char *p = NULL;
p = a;
int i = 0;
printf("%s\n", a);
printf("%c\n", *p);
printf("%c\n", *a);
printf("%s\n", p);
for(int i=0; a[i] != '\0'; i++)
printf("%c", a[i]);
}
더보기
1) a[] 에 Art 선언
A | a[0] |
r | a[1] |
t | a[2] |
NULL | a[3] |
2) *p 는 NULL로 선언
3) p와 a는 같다 즉,
A | a[0] | p[0] |
r | a[1] | p[1] |
t | a[2] | p[2] |
NULL | a[3] | p[3] |
♣ 정답 ->
Art
A
A
Art
Art
◎ 2023년 1회 03번
#include <stdio.h>
int main(){
char* a = "qwer";
char* b = "qwtety";
int i, j;
for(int i = 0; a[i] != '\0' ; i++){
for(int j = 0; b[j] != '\0'; j++){
if(a[i] == b[j]) printf("%c", a[i]);
}
}
}
더보기
1) char *a
a[0] | q |
a[1] | w |
a[2] | e |
a[3] | r |
a[4] | null |
2) char *b
b[0] | q |
b[1] | w |
b[2] | e |
b[3] | t |
b[4] | y |
b[5] | null |
3) for문을 보면 !='\0' 널이 아닐 때 값이 출력된다.
4) if문에서 서로 값이 같을 때 출력
♣ 정답 -> qwe
◎ 2023년 1회 09
이진수를 십진수로 변환하는 코드에 대해 괄호 (a) (b)의 적합한 답을 작성하시오.
___________________________________________________________________________
#include <stdio.h>
int main() {
int input = 101110;
int di = 1;
int sum = 0;
while (1) {
if (input == 0) break
else {
sum = sum + (input (a)(b)) * di;
di = di * 2;
input = input / 10;
}
}
printf("%d", sum);
}
더보기
♣ 정답 -> (a) % ,(b) 10
◎ 2023년 2회 01번
입력값이 54321일 경우 출력값이 43215로 출력되어야 한다.
_____________________________________________
#include <stdio.h>
int main(void) {
int n[5];
int i;
for(i=0; i<5; i++) {
printf("숫자를 입력해주세요. : ");
scanf("%d", &n[i]);
}
for(i=0; i<5; i++) {
printf("%d", ( ) );
}
return 0;
}
더보기
♣ 정답 -> n[(i+1)%5]
◎ 2023년 2회 03번
입력값 홍길동, 김철수, 박영희 순서로 주어진다.
______________________________________
#include <stdio.h>
char n[30];
char *test() {
printf(입력하세요 : );
gets(n);
return n;
}
int main() {
char *test1;
char *test2;
char *test3;
test1 = test();
test2 = test();
test3 = test();
printf(%s\n, test1);
printf(%s\n, test2);
printf(%s\s, test3);
}
더보기
1) test1 , test2, test3을 실행하면서 배열의 위치를 바꿔주지 않는다.
2) 마지막 test3 = test(); 을 실행하면 박영희가 return이 된다.
* 입력값 순으로 출력되게 하려면 각 test 실행 다음 printf을 실행해야한다.
♣ 정답 ->
박영희
박영희
박영희
◎ 2023년 2회 05번
#include <stido.h>
int n[3] = [73, 95, 82]
sum = 0
for(i=0; i<3; i++) {
sum += n[i];
}
switch(sum/30) {
case 10:
case 9: printf("A");
case 8: printf("B");
case 7:
case 6: printf("C");
default: printf("D");
}
더보기
1) for문을 돌려보면 n[3]의 값을 모두 합치는 값을 sum에 저장
2) sum은 250이 된다.
3) switch(250/30) 은 case 8에 들어 들어간다. 그러나 break가 없으므로 계속 실행
♣ 정답 -> BCD
◎ 2023년 2회 07번
#include <stdio.h>
int main() {
int c = 0;
for(int=i; i<=2023; i++) {
if(i%4 == 0) c++;
}
printf("%d", c);
}
더보기
1) c의 초기값을 0으로 설정
2) for문을 i가 0부터 시작해 2023일 때까지 반복
3) if문에서 i가 4로 나눌 때 나머지가 0일 때 c의 값 1씩 증가
♣ 정답 -> 505
◎ 2023년 2회 09번
#include <stdio.h>
#define MAX_SIZE 10
int isWhat[MAX_SIZE];
int point = -1;
void into(int num) {
if(point >= 10) printf("FUll");
isWhat[++point] = num;
}
int take() {
if(isEmpty() == 1) printf("Empty");
return isWhat[point--];
}
int isEmpty() {
if(point == -1) return 1;
return 0;
}
inf isFull() {
if(point == 10) return 1;
return 0;
}
int main(int argc, char const *argv[]) {
int e;
into(5); into(2);
while(!isEmpty()) {
printf("%d", take());
into(4); into(1); printf("%d", take());
into(3); printf("%d", take()); printf("%d", take());
into(6); printf("%d", take()); printf("%d", take());
}
return 0;
}
더보기
♣ 정답 -> 213465
◎ 2023년 2회 18번
#include <stdio.h>
int main() {
int E[] = {64, 25, 12, 22, 11};
int n = sizeof(E) / sizeof(E[0]);
int i = 0;
do {
int j = i+1;
do {
if(E[i] ( ) E[j]) {
int temp = E[i];
E[i] =E[j];
E[j] = temp;
}
j++;
} while (j < n);]
i++;
} while(j<n);
i++;
} while(i<n-1);
for(int i=0; i<=4; i++)
printf("%d " , E[i]);
}
더보기
♣ 정답 -> ( >)
728x90
반응형
'자격증 > 정보처리기사 실기' 카테고리의 다른 글
정보처리기사[실기] 기출문제_파이썬(2021년도) (56) | 2023.09.24 |
---|---|
정보처리기사[실기] 기출문제_파이썬(2020년도) (52) | 2023.09.23 |
정보처리기사[실기] 기출문제_자바(2023년도) (51) | 2023.09.22 |
정보처리기사[실기] 기출문제_C언어(2022년도) (50) | 2023.09.21 |
정보처리기사[실기] 기출문제_C언어(2021년도) (47) | 2023.09.20 |