8.1 1.
int arr[5]; double arr[10]; int arr[3]; char str[5];
2.
int arr[5]={1,2,3};
//8.1__3번 #include<stdio.h> int main() { double ary[5] = { 1.0, 2.1, 3.2, 4.3, 5.4 }; int i; for (i = 4; i >= 0; i--) { printf("%.1lf ", ary[i]); } printf("\n"); return 0; }
//8.1__4번 #include<stdio.h> int main() { int A[3] = { 1, 2, 3 }; int B[10]; int i, cnt = 0; for (i = 0; i < 10; i++) { B[i] = A[cnt]; printf("%d ", B[i]); cnt++; if (cnt == 3) cnt = 0; } printf("\n"); return 0; }
//8.1__5번 #include<stdio.h> int main() { int ary[10] = { 1, 2 }; int i;
for (i = 0; i < 10; i++) { if (i >= 2) ary[i] = ary[i - 2] + ary[i - 1]; printf("%d ", ary[i]); } puts(""); return 0; }
apple-juice
1. 1,2번
2. 4번
3. temp,str1 str1,str2 str2,temp
//8.2__4번 #include<stdio.h> int main() { char str[10]; gets(str); puts(str); return 0; }
5. apple-juice
} #include<stdio.h> int main() { int score[5]; int i, min, max, tot = 0, cnt = 0; double avg;
printf("5명 심사위원의 점수 입력: "); for (i = 0; i < 5; i++) { scanf("%d", &score[i]); if (i == 0) max = min = score[i]; max = max > score[i] ? max : score[i]; min = min < score[i] ? min : score[i]; }
printf("유효점수: "); for (i = 0; i < 5; i++) { if (score[i] != max&&score[i] != min) { printf("%d ", score[i]); tot += score[i]; cnt++; } } avg = tot / (double)cnt; printf("\n평균: %.1lf\n", avg); return 0; }
//도전2_대소문자 변환 프로그램 #include<stdio.h> int main() { char str[80]; int i, cnt = 0;
printf("문장 입력: "); gets(str);
/*while (str[i] != 0) { if (str[i] >= 'A'&& str[i] <= 'Z') { str[i] += 'a' - 'A'; cnt++; } i++; }*/ for (i = 0; str[i]; i++) { if (str[i] >= 'A'&& str[i] <= 'Z') { str[i] += 'a' - 'A'; cnt++; } } printf("바뀐 문장: %s\n", str); printf("바뀐 문자 수: %d\n", cnt);
return 0; }
//도전3_로또 프로그램 #include<stdio.h> int main() { int num[6]; int i, id;
for (i = 0; i < 6; i++) { printf("로또번호 입력: "); scanf("%d", &num[i]); if (i > 0) { for (id = 0; id < i; id++) { if (num[i] == num[id]) { printf("같은번호가 있습니다!\n"); i--; } } } } printf("입력된 로또 번호: "); for (i = 0; i < 6; i++) { printf(" %d", num[i]); } puts(""); return 0; }
1.배열이란 무엇인가
-같은 타입의 데이터가 여러 개 저장되어 있는 데이터 저장장소이다
2.배열이 왜 필요한지 구체적인 예를 들어 설명하시오
-같은 int타입의 a1,a2,~ a100까지의 100개의 변수는 선언과 초기화를 적어도 100번 해주어야하는데, 배열을 사용하면 선언과 초기화를 동시에 한꺼번에 처리할 수 있어서 많은 데이터를 다룰 때 간편하다.
3.정수형 변수 10개를 선언하는 것과 정수배열 10개를 선언하는 것의 차이는?
-정수형 변수의 경우 변수의 값이 저장되는 곳이 임의로 배정되는 반면 정수배열 10개는 0-9까지 번호(index) 순서대로 차곡차곡 저장된다.
4.널문자의 용도는 무엇인가?
-문자의 끝을 인식하게 해준다. 데이터와 쓰레기 값을 분리한다.
5.널문자는 누가 저장해주는가?
-배열을 초기화하듯이 문자배열을 초기화할 때는 코드를 짜는 사람이 작성해야하고, 문자열 상수를 사용하여 초기화할 때는 자동으로 컴파일러가 저장해준다.
} #include<stdio.h> int main() { int num[5]; int i; int max;
for (i = 0; i < 5; i++) { printf("정수 입력: "); scanf("%d", &num[i]); if (i==0) max = num[0]; max = max > num[i] ? max : num[i]; }
printf("최대값: %d\n", max); return 0;
}
//P_7번_정수5개, 최소값 #include<stdio.h> int main() { int num[5]; int i; int min;
for (i = 0; i < 5; i++) { printf("정수 입력: "); scanf("%d", &num[i]); if (i==0) min = num[0]; min = min < num[i] ? min : num[i]; }
printf("최소값: %d\n", min); return 0;
}
//8.문자열 길이 #include<stdio.h> int main() { char str[80]; int i= 0;
printf("문자열 입력(띄어쓰기X): "); scanf("%s",&str[i]);
while(str[i]) { i++; } printf("입력 문자열의 길이:%d\n", i);
return 0; }
.
.