본문 바로가기

all

(211)
윤성우님의 C 프로그래밍 연습문제 : 16-1 문제1] #include int main(void) { int multi[8][9]; int i, j; for(i = 0; i < 8; i++) { for(j = 0; j < 9; j++) { multi[i][j] = (i+2) * (j+1); printf("%d\t", multi[i][j]); } putchar('\n'); } return 0; } 문제2] #include int main(void) { int arr1[2][4], arr2[4][2]; int i, j; for(i = 0; i < 2; i++) { for(j = 0; j < 4; j++) { arr1[i][j] = (i*4) + (j+1); arr2[j][i] = arr1[i][j]; printf("%d\t", arr1[i][j]); }..
Billboard Charts 2007/11 HOT 50 보호되어 있는 글입니다.
윤성우님의 C 프로그래밍 도전프로그래밍 TWO [5] (거품정렬) 도전5] #include #defineSIZE7 void Des_Sort(int* arr); void swap(int* a, int* b); int main(void) { int arr[SIZE]; int i; for(i = 0; i < SIZE; i++) { printf("Input %dst Number : \n", i+1); scanf("%d", &arr[i]); } Des_Sort(arr); for(i = 0; i < SIZE; i++) printf("%d\t", arr[i]); return 0; } void Des_Sort(int* arr) { int i, j; for(i = 0; i < SIZE - 1; i++) { for(j = 0; j < SIZE - 1 -i; j++) { if(*(arr+..
윤성우님의 C 프로그래밍 도전프로그래밍 TWO [3~4] 도전3] #include #defineMAX10 int main(void) { int arr[MAX]; int num, k, i = 0, j = 9; for(k = 0; k < MAX; k++) { printf("Input Number : "); scanf("%d", &num); if(num % 2 != 0) arr[i++] = num; else arr[j--] = num; } printf("------------------\n"); for(i = 0; i < MAX; i++) printf("%d\n", arr[i]); return 0; } 도전4] #include int flag; void palindrome(char* str, int size, int i); int main(void) { char s..
윤성우님의 C 프로그래밍 도전프로그래밍 TWO [1~2] 도전1] #include void odd_number(int* arr, int size); void even_number(int* arr, int size); int main(void) { int arr[10]; int i, size = sizeof(arr) / sizeof(int); for(i = 0; i < size; i++) { printf("Input %dst arr value : ", i+1); scanf("%d", &arr[i]); } odd_number(arr, size); even_number(arr, size); return 0; } void odd_number(int* arr, int size) { int i; printf("Odd Number : \n"); for(i = 0; i < ..
윤성우님의 C 프로그래밍 연습문제 : 14-1 문제1] - Call-By-Value #include int Square(int a); int main(void) { int a; printf("Input integer : "); scanf("%d", &a); a = Square(a); printf("%d", a); return 0; } int Square(int a) { return a*a; } - Call-By-Reference #include void Square(int* a); int main(void) { int a; printf("Input integer : "); scanf("%d", &a); Square(&a); printf("%d", a); return 0; } void Square(int* a) { *a = (*a) * (*a); } ..
C에서 배열이름의 정체는?? #include int main() { int a[2] = {1, 2}; printf("%d %d %d", a, &a[0], &a); return 0; } 위의 결과를 보면 3가지 값 모두가 똑같다. 배열이름은 배열의 첫번째 인덱스의 주소값을 가지니 a == &a[0]는 당연히 맞는 말이다. 하지만 a 라는 값(즉 배열의 주소가 저장되는 공간) 자체도 어딘가 메모리 공간에 할당될테고 (주소값을 저장하는 메모리공간 = 포인터) 다시 말해 &a 를 출력했을시 어딘가 다른 메모리 주소가 출력되야 하는데 그렇질 않다. 게다가 sizeof 연산을 해보면 배열이름의 저장 공간은 포인터 크기가 아닌 배열 전체의 크기가 나오는데 이걸 어떻게 이해해야 하는지 -_-;; 배열이름은 배열의 크기 정보까지 저장하고 있는 포인..
윤성우님의 C 프로그래밍 연습문제 : 13-1 문제1] #include int main() { int i; int arr[] = {1, 2, 3, 4, 5}; int* p = arr; for(i = 0; i < 5; i++) { *(p+i) += 2; printf("%dst index = %d\n", i, *(p+i)); } return 0; } 문제2] #include int main(void) { int i, tmp; int arr[] = {1, 2, 3, 4, 5}; int* p = arr; int size = sizeof(arr) / sizeof(int); for(i = 0; i < size/2; i++) { tmp = *(p + (size-i-1)); *(p + (size-i-1)) = *(p + i); *(p + i) = tmp; } fo..