쉽게 풀어 쓴 C언어 express 솔루션입니다.
파일을 따로 준비해놨으니 필요하시다면 다운받아서 사용해주세요^^
1.
#include <stdio.h>
int main(void) {
int x = 0x12345678;
unsigned char *xp = (char *)&x;
printf("바이트순서: %x %x %x %x\n", xp[0], xp[1], xp[2], xp[3]);
return 0;
}
바이트순서: 78 56 34 12
계속하려면 아무 키나 누르십시오 . . . 인텔 CPU는 리클 엔디안임을 알 수 있다.
2.
#include <stdio.h>
void get_sum_diff(int x, int y, int *p_sum, int *p_diff);
int main(void) {
int sum=0, diff=0;
get_sum_diff(100, 200, &sum, &diff);
printf("원소들의 합=%d\n", sum);
printf("원소들의 차=%d\n", diff);
return 0;
}
void get_sum_diff(int x, int y, int *p_sum, int *p_diff) {
*p_sum = x+y;
*p_diff = x-y;
}
3.
#include <stdio.h>
#include <stdlib.h>
void array_fill(int *A, int size);
void array_print(int *A, int size);
int main(void) {
int data[10];
array_fill(data, 10);
array_print(data, 10);
return 0;
}
void array_fill(int *A, int size) {
int i;
for (i=0;i<size; i++) {
A[i] = rand();
}
}
void array_print(int *A, int size) {
int i;
for (i=0;i<size; i++) {
printf("%d ", A[i]);
}
printf("\n");
}
4.
#include <stdio.h>
void array_print(int *A, int n);
int main(void) {
int list[10]= {
1, 2, 3, 4
}
;
array_print(list, 10);
return 0;
}
void array_print(int *A, int n) {
int i;
printf("A[]={ ");
for (i=0;i<n;i++) {
printf("%d ", A[i]);
}
printf(" }\n");
}
5.
#include <stdio.h>
void convert(double *grades, double *scores, int size);
void print(double *a, int size) {
int i;
for (i=0; i<size; i++) {
printf("%f ", a[i]);
}
printf("\n");
}
int main(void) {
double grades[10] = {
1, 2, 3, 4, 3, 2,1, 2,3, 4
}
;
double scores[10] = {
0
}
;
convert(grades, scores, 10);
print(scores, 10);
return 0;
}
void convert(double *grades, double *scores, int size) {
int i;
for (i=0 ; i<size ; i++) {
scores[i] = 100.0*(grades[i]/4.3);
}
}
6.
#include <stdio.h>
#define N_DATA 10
void array_copy(int *a, int *b, int size);
void array_print(int *a, int size);
int main(void) {
int A[N_DATA] = {
1, 2, 3
}
;
int B[N_DATA] = {
0
}
;
array_copy(A, B, N_DATA);
array_print(B, N_DATA);
return 0;
}
void array_copy(int *a, int *b, int size) {
int i;
for (i=0; i<size; i++) {
b[i] = a[i];
}
}
void array_print(int *a, int size) {
int i;
for (i=0; i<size; i++) {
printf("%d ", a[i]);
}
printf("\n");
}
7.
#include <stdio.h>
#define N_DATA 10
void array_add(int a[], int b[], int c[], int size);
int main(void) {
int A[N_DATA] = {
1, 2, 3
}
;
int B[N_DATA] = {
0
}
;
int C[N_DATA] = {
0
}
;
array_add(A,B,C, N_DATA);
return 0;
}
void array_add(int a[], int b[], int c[], int size) {
int i;
for (i=0; i<size; i++) {
c[i]=a[i]+b[i];
}
}
8.
#include <stdio.h>
#define N_DATA 10
int array_sum(int a[], int size);
int main(void) {
int A[N_DATA] = {
1, 2, 3
}
;
int sum ;
sum = array_sum(A, N_DATA);
printf(“%d \n”, sum);
return 0;
}
int array_sum(int a[], int size) {
int i;
int sum=0;
for (i=0; i<size; i++) {
sum += a[i];
}
return sum;
}
9.
#include <stdio.h>
int search(int *A, int size, int x);
int main(void) {
int data[10] = {
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
}
;
int index = search(data, 10, 9);
printf("%d\n", index);
return 0;
}
int search(int *A, int size, int x) {
int i;
for (i=0;i<size; i++) {
if( A[i] == x ) return i;
}
return -1;
}
10.
#include <stdio.h>
void get_gcd_lcm(int x, int y, int *gcd, int *lcm);
int main(void) {
int x, y, g, l;
printf("두개의 정수를 입력하시오: ");
scanf("%d %d", &x, &y);
get_gcd_lcm(x, y, &g, &l);
printf("최소공배수는 %d입니다.\n",l);
printf("최대공약수는 %d입니다.\n",g);
return 0;
}
void get_gcd_lcm(int org_x, int org_y, int *gcd, int *lcm) {
int x = org_x;
int y = org_y;
int tmp;
while(y != 0) {
tmp = y;
y = x % y;
x = tmp;
}
*gcd = x;
*lcm = org_x * org_y / *gcd;
}
11.
/* i는 정렬된 왼쪽리스트에 대한 인덱스
j는 정렬된 오른쪽리스트에 대한 인덱스
k는 정렬될 리스트에 대한 인덱스 */
void merge(int left, int mid, int right) {
int i, j, k, l;
i=left;
j=mid+1;
k=left;
/* 분할 정렬된 list의 합병 */
while(i<=mid && j<=right) {
if(list[i]<=list[j])
sorted[k++] = list[i++]; else
sorted[k++] = list[j++];
}
if(i>mid)
/* 오른쪽리스트에 남아 있는 레코드의 일괄 복사 */
for (l=j; l<=right; l++)
sorted[k++] = list[l]; else
/* 왼쪽리스트에 남아 있는 레코드의 일괄 복사 */
for (l=i; l<=mid; l++)
sorted[k++] = list[l];
/* 배열 sorted[]의 리스트를 배열 list[]로 재복사 */
for (l=left; l<=right; l++)
list[l] = sorted[l];
}
더 많은 쉽게 풀어 쓴 C언어EXPRESS 이론 솔루션
https://chuinggun.tistory.com/category/%EC%86%94%EB%A3%A8%EC%85%98%EB%AA%A8%EC%9D%8C/%EC%89%BD%EA%B2%8C%20%ED%92%80%EC%96%B4%20%EC%93%B4%20C%EC%96%B8%EC%96%B4%20Express%20%EC%9D%B4%EB%A1%A0
더 많은 쉽게 풀어 쓴 C언어EXPRESS 프로그래밍 솔루션 :
https://chuinggun.tistory.com/category/%EC%86%94%EB%A3%A8%EC%85%98%EB%AA%A8%EC%9D%8C/%EC%89%BD%EA%B2%8C%20%ED%92%80%EC%96%B4%20%EC%93%B4%20C%EC%96%B8%EC%96%B4%20Express%20%EC%8B%A4%EC%8A%B5%EB%AC%B8%EC%A0%9C
'솔루션모음 > 쉽게 풀어 쓴 C언어 Express 실습문제' 카테고리의 다른 글
[쉽게 풀어 쓴 C언어 Express] 13장 프로그래밍 programming 솔루션 답지 (0) | 2020.04.11 |
---|---|
[쉽게 풀어 쓴 C언어 Express] 12장 프로그래밍 programming 솔루션 답지 (0) | 2020.04.11 |
[쉽게 풀어 쓴 C언어 Express] 10장 프로그래밍 programming 솔루션 답지 (0) | 2020.04.11 |
[쉽게 풀어 쓴 C언어 Express] 9장 프로그래밍 programming 솔루션 답지 (0) | 2020.04.11 |
[쉽게 풀어 쓴 C언어 Express] 9장 프로그래밍 솔루션 programming 답지 (0) | 2020.04.09 |
댓글