본문 바로가기

25년 1회차 정보처리기사 실기. C언어 아스키코드 문제

by 귀엽소 2025. 4. 26.
반응형

ASCII 코드

 

A=65번

a=97번


#include<stdio.h>

 

전역변수

charData[5]={'B', 'A', 'D', 'E'};

[0] [1] [2] [3]
'B' 'A' 'D' 'E'

char c;

 

int main(void){

int i;

char temp. temp2;

 

c='C'; %d이면, 아스키코드 숫자 형태로 출력. %c이면 'C' 문자 형태로 출력해야함.

printf("%d/n", Data[3]-Data[1]); 'E'-'A' 와 동일. 아스키코드 몰라도 풀 수 있음. A, B, C, D, E 

'A'에서 'E'까지 차이가 4임. %d 정수형으로 출력하라고 했으니까 4가 출력됨.

 

for(i=0; i<4; ++i){ 반복문 시작

 if(Data[i]>c)

  break;

}

i=0 'B'>'C' A,B,C,D,E 니까 C가 더 큼
false
i=1 'A'>'C' false
i=2 'D'>'C' true

 

i=2에서 break.

 

temp=Data[i]; Data[2]='D'니까 temp에는'D'가 들어감.

Data[i]=c; Data[2]='C'가 들어감.

[0] [1] [2] [3]
'B' 'A' 'D' 'E'
    'C'  

++i i는 1증가하여 i=3이 된다.

 

for( ; i<5; ++i){ 반복문 시작. 초기값이 없어도 된다!  i가 3부터 5보다 작을 동안 실행 (i=3, i=4 실행함)

 temp2=Data[i]; Data[3]은 'E'니까 temp2에 'E'넣기.

 Data[i]=temp; temp 'D' 를 Data[3]에 넣기.

 temp=temp2; temp2 'E' 값을 temp에 넣기.

temp2 Data[3] temp
 'E' 'D'   
     'E'
[0] [1] [2] [3]
'B' 'A' 'D' 'E'
    'C' 'D'

 

i=4 실행해볼게요.

Data[4]은 '/0'이니까 temp2에 '/0' 넣기.

temp 'E' 를 Data[4]에 넣기.

temp2  '/0' 값을 temp에 넣기.

temp2 Data[4] temp
'/0' 'E'  
    '/0'
[0] [1] [2] [3] [4]
'B' 'A' 'D' 'E'  
    'C' 'D'  
'B' 'A'     'E'

 

  for(i=0; i<5; ++i)

   printf("%c", Data[i]); %c 문자형태로 출력하기.

 

return0;

}

 

정답:
4
BACDE

 

https://youtu.be/JzeDc6p3wW4?si=MIFSs0VchI8ts0cO

 

정처기 1회 필답 떨어져서 이분꺼 구매해서 공부 빡세게 해 볼 예정. 시나공 엿머거 시발. c언어 자바 파이썬 언어 대비 1도 안 됨. 시간 낭비 했네...

반응형

댓글