" async="async"> ', { cookie_domain: 'auto', cookie_flags: 'max-age=0;domain=.tistory.com', cookie_expires: 7 * 24 * 60 * 60 // 7 days, in seconds }); 책 알려주는 남자 :: 쉽게 풀어쓴 C언어 Express 10장 Exercise

10장 Exercise


1. 배열이 10개의 원소를 가진다면 첫 번째 원소의 배열 번호는?     ②0


2. 배열 char[5][6]은 총 몊개의 원소를 가지는가?        ③30


3. 다음 중 잘못 선언된 배열을 모두 선택하라.    ③, ④ (변수, 실수는 배열의 크기가 될 수 없다.)


4. int a[100]={10}; 으로 선언된 배열에서 a[99]의 초기값은 무엇인가?    ①0


5. int a[2][2] = {1, 2, 3, 4}에서 a[1][1]의 초기값은?        ①1


6. 프로그램의 오류를 전부 수정하라.

#define MAX_SIZE 3

int main(void)
{

int a[MAX_SIZE]={0, 1, 2, 3};
int b[3.0];

for(i=0; i<=MAX_SIZE; i++)
        b[i]=a[i];

return 0;

}

 #define MAX_SIZE 3

int main(void)
{

int a[MAX_SIZE]={0, 1, 2};
int b[3];

for(i=0; i<=MAX_SIZE; i++)
        b[i]=a[i];

return 0;

}


7. 

  (a) 배열로 수정

float grade[3];

 (b) 입력 대신 배열 초기값 설정

float grade[3]={10.0, 20.0, 30.0}

 (c) 평균함수 이용


#include <stdio.h>


float get_average(float a[], int n);


int main()

{

float grade[3] = {10.0, 20.0, 30.0};

printf("학생들의 평균: %f", get_average(grade, 3));

return 0;

}

float get_average(float a[], int n)

{

int i;

float sum=0;

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

        sum += a[i];

return sum/n;

}

 (d) 분포표 출력

#include <stdio.h>

int main()

{

int i, people[10] = {0};

float grade[3] = {10.0, 20.0, 30.0};


for(i=0; i<3; i++) {

if (grade[i]>=91 && grade[i]<=100) people[9]++;

else if(grade[i]>=81) people[8]++;

else if(grade[i]>=71) people[7]++;

else if(grade[i]>=61) people[6]++;

else if(grade[i]>=51) people[5]++;

else if(grade[i]>=41) people[4]++;

else if(grade[i]>=31) people[3]++;

else if(grade[i]>=21) people[2]++;

else if(grade[i]>=11) people[1]++;

else if(grade[i]>=0) people[0]++; }

printf("점수대 인원수\n");

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

   printf("%d-%d   %d\n", i*10+1, i*10+10, people[i]); 

return 0;

}



8. 잘못된 부분 수정

(a)

int main(void)

{

int grade[10][60];

compute_avg(grade);

}

int compute_avg(int array[][]){...}

 

 int main(void)

{

int grade[10][60];

compute_avg(grade);

}

int compute_avg(int array[][60]){...}


cf. 다차원 배열의 경우 1차원 배열과 비슷하나 다만 첫 번째 인덱스를 제외한 나머지 인덱스의 범위를 적어주어야한다

 (b)

float test[10];

scanf("%f", test[0]);

 float test[10];

scanf("%f", &test[0]);

 (c)

int main(void)

{

int x, y;

int test[10][5];

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

for(y=0; y<10; y++)

test[x][y]=0;

return 0;

}

 int main(void)

{

int x, y;

int test[5][10];

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

for(y=0; y<10; y++)

test[x][y]=0;

return 0;

}



블로그 이미지

얼음꿀차

책을 한 번 읽긴 읽어야겠는데 막상 읽자니 뭘 읽을지 고민되는 당신을 위해 읽을만한 책들을 알려드립니다!

,