혜랑's STORY

[C_멘토링] 5주차 과제 본문

2020 SISS 21기 활동/1학기 C언어

[C_멘토링] 5주차 과제

hyerang0125 2020. 5. 31. 23:40

1. 베열 복사하기

<코드>

#include <stdio.h>

void copyArray(int* a[], int* b[]);  //배열 a를 배열 b에 복사하는 함수

int main() {
	int a[10], b[10];

	//배열 a를 입력받는 for문
	printf("10개의 숫자를 입력해주세요. : ");
	for (int i = 0; i < 10; i++) {
		scanf("%d", &a[i]);
	}

	//배열 복사하기
	copyArray(&a, &b);

	//배열 a 출력
	printf("\nA배열의 값  : ");
	for (int i = 0; i < 10; i++) {
		printf("%d ", a[i]);
	}

	//배열 b 출력
	printf("\nB배열의 값 : ");
	for (int i = 0; i < 10; i++) {
		printf("%d ", b[i]);
	}

	return 0;
}

void copyArray(int* a[], int* b[]) {
	for (int i = 0; i < 10; i++) {
		b[i] = a[i];
	}
}

<실행 결과>

배열 복사 실행 결과

 

2. 배열 위치 바꾸기기

#include <stdio.h>

void swapArray(int* a[], int* b[]);

int main() {
	int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
	int b[10] = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };

	printf("\tBefore Change \n=============================");
	printf("\n배열 A : ");
	for (int i = 0; i < 10; i++) {
		printf("%d ", a[i]);
	}
	printf("\n배열 B : ");
	for (int i = 0; i < 10; i++) {
		printf("%d ", b[i]);
	}

	swapArray(&a, &b);

	printf("\n\n\tAfter Change\n=============================");
	printf("\n배열 A : ");
	for (int i = 0; i < 10; i++) {
		printf("%d ", a[i]);
	}
	printf("\n배열 B : ");
	for (int i = 0; i < 10; i++) {
		printf("%d ", b[i]);
	}
}

void swapArray(int* a[], int* b[]) {
	int temp;

	for (int i = 0; i < 10; i++) {
		temp = a[i];
		a[i] = b[i];
		b[i] = temp;
	}
}

<실행 결과>

배열 위치 바꾸기 실행 결과

 

3. strlen() 함수 구현하기

<코드>

#include <stdio.h>

int myStrlen(char* str[]);

int main() {
	
	char str[500] = {""};

	printf("문자열을 입력하세요. : ");
	scanf("%s", str);
	printf("\n");

	printf("문자열의 길이는 %d입니다.",myStrlen(str));
    
    return 0;
}

int myStrlen(char* str) {

	printf("\n");
	int cnt=0;
	for (int i = 0; str[i]; i++) {//str[i]가 종료문자가 될 때까지 i를 1씩 증가시킨다.
		cnt++;
	}
	return cnt;

}

<실행 결과>

strlen() 구현 실행 결과

<설명>

* 문자열은 끝에 NULL이 존재한다. 그러므로 for(int i=0; str[i]; i++)에서 str[i]가 NULL(\0)이 될때까지 실행시킬 수 있다.

'2020 SISS 21기 활동 > 1학기 C언어' 카테고리의 다른 글

[C_멘토링] 7주차 과제  (0) 2020.06.14
[C_멘토링] 6주차 과제  (0) 2020.06.07
[C_멘토링] 4주차 과제  (0) 2020.05.22
[C_멘토링]3주차 과제  (0) 2020.05.17
[C_멘토링] 2주차 과제  (0) 2020.04.14