04. Introduction and practice of engineering computer(Array & Swap)
04. Introduction and practice of engineering computer(Array & Swap)
[toc]
공학컴퓨터입문및실습 과제4
배열 실습1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#define SIZE 5
int main(void)
{
int i;
int score[SIZE]; //배열 지정
score[0] = 10;
score[1] = 20;
score[2] = 30;
score[3] = 40;
score[4] = 50;
//배열의 각 요소에 값을 대입한다.
for (i = 0; i < SIZE; i++) //i를 0~SIZE-1까지 반복한다.
{
printf("scores[%d]=%d\n", i, score[i]);
}
return 0;
}
배열 실습2
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
#include <stdio.h>
#define SIZE 10
int main(void)
{
int price[SIZE] = { 12, 3, 19, 6, 18, 8, 12, 4, 1, 19};
//배열에 미리 값을 지정했습니다.
int i, minimum;
printf("[");
for (i = 0;i < SIZE;i++) //i는 0~ SIZE - 1까지 반복을 합니다.
{
printf("%d ", price[i]); //price[i]를 정수형을 받습니다.
}
printf("]\n");
minimum = price[0]; //최소값을 배열 price의 0번째 요소로 지정합니다.
for (i = 1;i < SIZE;i++)
{
if (price[i] < minimum)
minimum = price[i];
//만약에 배열 안의 요소가 지정해 놓은 최소값 보다 작으면 최소값이 바뀝니다.
}
printf("최소값은 %d입니다.", minimum); //바뀐 최소값을 출력합니다.
return 0;
}
베열 실습3
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
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define SIZE 5
int main(void)
{
int i, k;
int list[SIZE] = {16, 7, 9, 1, 3};
for (k = 0;k < SIZE;k++)
{
for (i = 0;i < SIZE-1;i++)
{
if (list[i] > list[i + 1])
{
int tmp = list[i];
list[i] = list[i + 1];
list[i + 1] = tmp;
}
}
}
for (i = 0;i < SIZE;i++)
{
printf("%d ", list[i]);
}
return 0;
}
2차원 배열 실습
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
32
33
34
35
36
#include<stdio.h>
#define Xcor 3
#define Ycor 3
int main() {
int a, b;
int A[Xcor][Ycor];
int B[Xcor][Ycor];
int C[Xcor][Ycor];
for (a = 0; a < 3; a++) {
for (b = 0; b < 3; b++) {
scanf("%d", &A[a][b]);
}
}
for (a = 0; a < 3; a++) {
for (int b = 0; b < 3; b++) {
scanf("%d", &B[a][b]);
}
}
for (a = 0; a < 3; a++) {
for (int b = 0; b < 3; b++) {
C[a][b] = A[a][0] * B[0][a] + A[a][1] * B[1][a] + A[a][2] * B[2][a];
}
}
for (a = 0; a < 3; a++) {
printf("\n");
for (int b = 0; b < 3; b++) {
printf("%d",C[a][b]);
printf(",");
}
}
return 0;
}
난수를 생성 후 10으로 나눈 나머지가 가장 많이 생성된 수를 찾기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<stdio.h>
#include <stdlib.h>
int main(void) {
int num[10] = {0, };
int temp;
for (int i = 0; i < 100; i++) {
temp = rand() % 10;
num[temp]+=1;
}
int max = 0;
for (int i = 0; i < 9; i++) {
if (num[i] > max) {
max = num[i];
temp = i;
}
}
printf("가장 많이 생성된 수 = %d\n", temp);
return 0;
}
swap함수 실습
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
void swap(int *px, int *py);
int main(void){
int a = 100, b = 200;
printf("swap() 호출전 a=%d b=%d\n", a, b);
swap(&a, &b);
printf("swap() 호출전 a=%d b=%d\n", a, b);
return 0;
}
void swap(int *px, int *py)
{
int tmp;
tmp = *px;
*px = *py;
*py = tmp;
}
End.