작성일 : 15-11-12 16:06
자기주도 c언어 프로그래밍 배열 1 형성평가 10번
 글쓴이 : 공태현(kth119879)
조회 : 3,699  

#include <stdio.h>
int main()
{
 int i;
 int j;
 int k;
 int su;
 int n;
 int max=0;
 int s[n];
 scanf("%d", &n);
 for(i=0;i<n;i++) {
  scanf("%d", &s[i]);
 }
 for(j=0;j<n;j++) {
  for(k=j+1;k<n+1;k++) {
   if(s[i]>s[j]) {
    su=s[i];
    s[i]=s[j];
    s[i]=su;
   }
  }
 }
 for(i=n-1;i>-1;i--){
  printf("%d\n", s[i]);
 }
 return 0;
 }

로 했는데 기존 입력 수열을 그냥 뒤집은 형태로 나오던 데 왜 그런 건가요?


컴스쿨 15-11-12 17:07
 
su=s[i];
s[i]=s[j];
s[i]=su;

이렇게 하면 s[i]를 su에 넣었다가 다시 s[i]에 넣는 것이지요. 즉 아무 변화가 없는겁니다.

int s[n]; 이렇게 선언하면 안됩니다. 배열의 크기를 정할때는 반드시 상수(숫자)를 넣어주세요.

이렇게 문제를 풀고나서 자신의 의도대로 결과가 나오지 않을때 그 이유를 확인하는 방법이 바로 디버깅입니다.

한줄씩 실행하면서 자신이 의도한것과 다르게 되는 부분을 찾는 것이지요.

잘 모르시면 4단원 디버깅을 다시 학습해 보시기 바랍니다.
 
 

Total 662
번호 제   목 글쓴이 날짜 조회
402 함수 1 자기진단3번이요 (1) 김양덕 01-26 3334
401 자기주도 c언어 프로그래밍 선택제어문 91쪽 자기진단 2번이요 (1) 김양덕 01-11 3478
400 파일입출력 자가진단 5 (1) 공태현 01-11 6713
399 파일입출력 자가진단 3 (1) 공태현 01-11 4842
398 코드블록 집에서 깔고 main cpp들어가는데 그 파일이 존재하지않… (1) 이승우 01-11 7907
397 강좌 결재 방법 문의 드립니다. (1) 김양수 01-09 3329
396 포인터 자가진단 6 (1) 공태현 01-08 3980
395 구조체 형성평가 3 (1) 공태현 01-08 5376
394 2015년 시도 예선의 25번 문제 질문입니다. (1) 김미영 01-08 3308
393 자기주도 C언어 배열1 자가진단7번 (1) 김태욱 01-07 4101
392 구조체 자가진단1 (1) 공태현 01-05 4875
391 수강료 입금했습니다 (1) 정성훈 01-05 3311
390 문자열 2 자가진단 7 (1) 공태현 01-04 3832
389 문자열 형성 평가6 (1) 공태현 01-04 4319
388 문자열 자가진단 6 (1) 공태현 01-03 3234
387 함수 3 형성평가 3번 (1) 공태현 12-31 4436
386 자기주도 c언어 프로그래밍 e-book (1) 유민영 12-08 3377
385 자기주도 c언어 프로그래밍 함수 2 자가진단 7 (1) 공태현 12-03 3748
384 자기주도 c언어 프로그래밍 함수 2 자가진단 5 (3) 공태현 12-02 3753
383 dev-c++ (1) 공태현 11-30 6943
 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30    

회사소개 | 개인정보처리방침 | 이용약관 | 찾아오시는 길 | 이메일주소 무단수집거부 | 사업자정보확인
경기도 안양시 동안구 호계동 1065-10 협성골드프라자 601호 한컴에듀케이션(주) TEL : 031-388-8840 FAX : 031-388-0996
대표자 : 김동규 사업자번호 : 130-86-02870 통신판매업신고번호 : 제 2010-경기안양-888호
COPYTIGHT(C) 한컴에듀케이션(주), ALL RIGHT RESERVED.
담은강좌 : 0