티스토리 뷰

C

배열

parkrams 2024. 1. 25. 14:17
728x90

자바의 배열과 가장 큰 차이점

  • c 언어는 배열의 크기를 반드시 지정해야 한다.
  • 자바는 int [] array; 한 뒤 밑에서 정의 해도 에러 안나지만 c 언어는 에러 난다.

성적 평균

int array[2];
int sum = 0;
float ave = 0;

int arraylength = sizeof(array) / sizeof(int);

for (int i = 0; i < arraylength; i++) {

    printf(" %d번 학생의 점수를 입력 하세요 : ", i+1);
    scanf_s("%d", &array[i]);

    sum += array[i];
}

ave = sum / arraylength;

printf("학생 들의 총 점 수는  : %d 이고, 평균은 %.1f 입니다.", sum, ave);

소수 찾기

// 소수 찾기 

int prime;
int primeCheck = 0; // 소수 인지 확인 

printf("소수 인지 확인 할 수 입력 : ");
scanf_s("%d", &prime);

for (int i = 1; i <= prime; i++) {
    if (prime % i == 0) {
        primeCheck++;
    }
}

if (primeCheck == 2) printf("해당 수는 소수 입니다. \n");
else  printf("해당 수는 소수가 아닙니다. \n");

입력 받은 점수 내림 차순 정렬 ( 버블 정렬 )

// 입력 받은 점수를 내림 차순 정렬 

int array[5];
int temp = 0;

int arrayLength = sizeof(array) / sizeof(int);

for (int i = 0; i < arrayLength; i++) {
    printf("%d번 학생의 점수를 입력 하세요(1 ~ 100) : ", i + 1);
    scanf_s("%d", &array[i]);
}

for (int i = 0; i < arrayLength; i++) {

    // -1 안하면 예외 뜸 아웃오브 인덱스
    for (int j = 0; j < arrayLength - 1; j++) {

        // 비교 // 입력받은 애 보다 작은 애가 있으면 입력 받은 애를 뒤로 옮기기 위해 
        if (array[j] < array[j + 1]) {
            // 헷갈려서 이해하기 위해 출력
            printf("%d 바꾸기 전 값 출력 array[j] = %d, array[j+1] = %d \n",i , array[j], array[j + 1]);
            temp = array[j];
            array[j] = array[j + 1];
            array[j + 1] = temp;

            // 헷갈려서 이해하기 위해 출력
            printf("%d 바꾼 후 값 출력 array[j] = %d, array[j+1] = %d \n",i, array[j], array[j + 1]);
        }
    }

}

printf("내림 차순 정렬 값은 : ");

for (int i = 0; i < arrayLength; i++) {
    printf("%d ", array[i]);
}

printf("\n");

입력 받은 점수를 그래프로

int graphArray[5];
int graphArrayLength = sizeof(graphArray) / sizeof(int);



for (int i = 0; i < graphArrayLength; i++) {
    printf("%d번 학생의 점수를 입력 하세요(1 ~ 100) : ", i + 1);
    scanf_s("%d", &array[i]);
}

for (int i = 0; i < graphArrayLength; i++) {

    printf("%d번 학생 : ", i+1);

    for (int j = 1; j <= 100; j++) {
        printf("*");
        if (array[i] == j) break;
    }
    printf("\n");
}

다차원 배열

  • c언어는 맨앞 크기를 제외한 나머지 크기들은 정확히 지정해야 한다
ex) 
array[][2] = { 1, 2 }, { 3, 4 }; 이는 되지만
array[2][] = { 1, 2 }, { 3, 4 }; 이는 에러 난다.
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
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 31
글 보관함