반응형

Q. 배열에 저장되어 있는 요소들을 내림차순으로 정렬하는 함수를 정의하고, 함수를 호출하는 예제를 작성하라. 길이가 7인 int형 배열을 선언하고 7개의 정수를 입력받는다. 입력받은 정수를 내림차순으로 정렬하기 위해 함수를 호출하고 배열요소를 순서대로 출력하라.


>>내림차순 버블정렬 개요


(사진 출처-http://jsy6036.tistory.com/entry) 









>>길이가 7인 배열을 선언하고





>>반복문을 돌려 정수를 입력받는다





>>내림차순 함수 호출(정수가 저장     된 배열과, 길이를 인자로 전달)

>>출력 부분









>>배열 전체를 돌고


>>확정된 차리를 가진 숫자 그 앞까     지만 비교


>>뒤에 저장된 값이 앞에 저장된 값     보다 크다면, 둘의 자리를 바꿔준     다.(내림차순)










-결과창-



반응형
반응형

Q. 회문(앞으로 읽으나 뒤로 읽으나 차이가 없는 단어)인지 아닌지 판단하여 그 결과를 출력하는 함수를 정의하고 적절한 main함수를 정의하여라.  Ex) bob, noon


개요>>







>>문자열을 저장할 배열을 하나 선언한다.





>>배열을 길이를 len변수에 담는다.

    strlen함수를  쓰려면 string.h 헤더 함수를     선언해주어야만 한다.

    문자열을 담은 배열과 길이를 넘겨준다




>>위의 그림과 같이 앞과 뒤에서 부터 한칸       씩 다가오는 반복문을 선언해주고, 그 칸       에 들어있는 문자가 같으면 pal변수를 1증     가시킨다.



>>만약 3글자라면 pal은 1이다. 4글자라면       pal은 2이다.

    ( 5글자-2 / 6글자-3 / 7글자-3...)




-결과창-


















>>문제에서 대문자와 소문자까지 일치해     야한다는 제약을 걸었으므로 회문이 아     니다.

반응형
반응형

Q. 길이가 10인 배열을 선언하고, 10개의 정수를 입력 받는다. 입력 받은 숫자가 홀수이면 배열의 앞에서 부터 채워나가고, 짝수이면 뒤에서부터 채워나가는 형식을 취한다.



>> 10개의 정수를 입력받을 배열과, 홀수        짝수로 나눠 저장할 배열, 두개를 선언        하였습니다.


>>반복문을 사용하여 열개의 정수를 입력       받습니다.



>>이 부분부터 홀수와 짝수로 나눠져 brr배     열에 저장합니다.




>>arr배열에 저장된 홀수들을 brr배열 처음     부터 차례대로 저장.





>>반대로 arr배열의 끝에서 부터 짝수만을     찾아 홀수가 저장된 자리 그 다음부터 다     시 차례대로 저장합니다.








>>출력 부문




-결과창-


 


반응형
반응형

Q. 10진수 형태로 정수를 하나 입력받고, 이를 2진수로 변환하여 출력하라..


십진수에서 이진수로 쉽게 변환하는 방법(모두 아시겠지만....)









십진수 정수를 모두 나누어 질 때까지  2로 나눠서 나오는 나머지를 역순으로 나열하면 2진수가 되죠..






C코드로 나타내면,,


제가 짠 코드라 더 나은 코드가 있을 수 있다는 점 참고!!






-> scanf함수로 정수를 하나 입력을 받고,



->반복문 돌림 (모두 나누어 질 때까지)


배열에 2로나눈 나머지를 저장하고,

2로 나눈 수를 똑같은 변수에 저장한다.

배열 자리수를 한칸 옮기고

자릿수를 나타내어 주는 변수를 하나 더해준다.




배열을 출력하는 부분이다.

arr배열에는 2로 나눈 나머지가 차례대로 들어가므로 출력은 역순으로 해야한다.

널문자가 들어간 맨뒤칸을 제외한 부분부터 배열 첫부분인 0까지 반복문을 돌려 출력한다.





-결과창-



반응형
반응형

Q. 길이가 10인 배열을 선언하고 총 10개의 정수를 입력받아, 홀수와 짝수를 구분 지어 출력하는 프로그램을 작성해보자. 10개의 정수는 main함수 내에서 입력 받고, 홀수를 출력하는 함수와 짝수를 출력하는 함수를 각각 정의하여 호출하는 방식으로 프로그램을 완성하라.

<< 10개의 숫자를 for문을 사용해 입력받는다.

 


 배열의 10개 자리를 순차대로 방문하면서, 짝수인 수 들을 even함수에 전달한다.



마찬가지로, 입력받은 열개의 수 중 홀수인 수 들을 odd함수를 호출하여 전달한다.






                                                                             >> 

even 과 odd함수에서는 값을 받아 출력만 할 수 있게 만들었다. (선언부는 메인함수 위 부근에 써주어야 한다.)



-결과창-

PS. 값을 입력하면서 홀수값과 짝수값을 저장하는 배열을 각각 다르게 만들 수도 있다. 그러나 문제에서 배열 길이를 10으로 정해주라 하였기 때문에....ㅜ 더 깔끔한 방법이 분명히 있을 것 같은데 생각은 나지 않네요 더 좋은 방법 있으시면 충고부탁드립니다!!














반응형

+ Recent posts

반응형
반응형