목차
1.
#include <stdio.h>
int main()
{
int x = 0x12345678;
unsigned char *xp = (char*)&x;//x의배열주소를char형으로*xp포인터로넘김
printf("바이트순서:%x %x %x %x\n", xp[0], xp[1], xp[2], xp[3]);//각각배열을출력
return 0;
}
2.
#include <stdio.h>
void get_sum_diff(int x, int y, int *p_sum, int *p_diff)
{
*p_sum = x + y
*p_diff = x - y
return 0;
}
int main()
{
int x, y;
printf("x와y의값을입력하시오:");
scanf("%d %d", &x, &y);
get_sum_diff(x, y,&x,&y);
printf("합: %d\n차: %d\n", x, y);
}
3.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void array_fill(int *A,int size)
{
int i;
for (i = 0; i < size i++)
{
A[i] = rand();
printf("A[%d]=%d\n", i, A[i]);
}
}
int main()
{
int A[10];
srand((unsigned)time(NULL));
array_fill(A,10);
}
4.
#include <stdio.h>
void array_print(int *A,int size)
{
int i;
printf("A[]={");
for (i = 0; i < size i++)
{
A[i] = i + 1;
if (i == 0)
printf("%d", A[i]);
else
printf(", %d", A[i]);
}
printf("}\n");
}
int main()
{
int A[5];
array_print(A,5);
}
5.
#include <stdio.h>
void convert(double *grades, double *score, int size)
{
int i;
for (i = 0; i < size i++)
{
score[i] = (100 * grades[i]) / 4.3;
printf("score[%d] %5.2f점\n", i, score[i]);
}
}
int main()
{
double score[10];
double grades[] = {4.3, 3.7, 4.2, 4.0, 3.8, 3.2, 4.1, 4.0, 3.9, 3.5};
convert(grades,score,10);
}
6.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void array_copy(int *A, int *B, int size)
{
int i;
for (i = 0; i < size i++)
{
B[i] = A[i];
printf("A[%d]=%d B[%d]=%d\n", i, A[i], i, B[i]);
}
}
int main()
{
int A[10] = { 0 };
int B[10] = {0};
int i;
srand((unsigned)time(NULL));
for (i = 0; i < 10; i++)
{
A[i] = rand() % 100;
}
array_copy(A,B,10);
}
7.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void array_add(int *A, int *B, int *C, int size)
{
int i;
for (i = 0; i < size i++)
{
C[i]= B[i]+A[i];
printf("A[%d]=%3d B[%d]=%3d C[%d]=%3d\n", i, A[i], i, B[i],i,C[i]);
}
}
int main()
{
int A[10] = { 0 };
int B[10] = { 0};
int C[10] = { 0 };
int i;
srand((unsigned)time(NULL));
for (i = 0; i < 10; i++)
{
A[i] = rand() % 100;
B[i] = rand() % 100;
}
array_add(A,B,C,10);
}
8.
#include <stdio.h>
int array_sum(int *A, int size)
{
int i, sum=0;
for (i = 0; i < size i++)
{
sum += A[i];
}
return sum;
}
int main()
{
int A[6] = {10,20,30,40,50,60};
printf("직원의월급총합계:%d\n", array_sum(A, 6));
}
9.
#include <stdio.h>
int search(int *A, int size, int search_value)
{
int i;
for (i = 0; i < size i++)
{
if (A[i] == search_value) {
return i;
break
}
}
}
int main()
{
int A[5] = { 100,150,180,200,250 };
printf("월급200만원은A[%d]\n", search(A, 5, 200));
}
10.
#include <stdio.h>
void get_lcm_gcd(int x, int y, int *p_lcm, int *p_gcd)
{
int temp,i;
i = x*y
while (x)
{
if (x>y)
x = x % y
else
{
temp = x x = y y = temp;
}
}
*p_gcd = y
*p_lcm = i/y
}
int main()
{
int gcd, lcm;
int x, y;
printf("2개의정수를입력하시오:");
scanf("%d %d", &x, &y);
get_lcm_gcd(x, y, &lcm, &gcd);
printf("최대공약수: %d\n", gcd);
printf("최소공배수: %d\n", lcm);
}
11.
#include <stdio.h>
void merge(int *A, int *B, int *C, int size)
{
int i,j=0,k=0;
for (i = 0; i < size i++)
{
if (j == 4)
{
while (k<size)
{
C[i++] = B[k++];
}
break;
}
else if (k == 4)
{
while (j<size)
{
C[i++] = A[j++];
}
break;
}
else if (A[j] > B[k])
{
C[i] = B[k];
k++;
}
else
{
C[i] = A[j];
j++;
}
}
}
int main()
{
int A[4] = { 2,5,7,8 };
int B[4] = { 1,3,4,6 };
int C[8] = { 0 };
int i;
merge(A, B, C, 8);
for (i = 0; i < 8; i++)
printf("%d ", C[i]);
printf("\n");
}
2016/09/25 - [소스코드] - 쉽게 풀어쓴 C언어 express 10장 연습문제
2016/09/25 - [소스코드] - 쉽게 풀어쓴 C언어 express 9장 연습문제
2016/09/24 - [소스코드] - 쉽게 풀어쓴 C언어 express 8장 연습문제
'프로그램 개발' 카테고리의 다른 글
명품 Java Programming(개정판) 2장 실습문제 (0) | 2016.09.25 |
---|---|
쉽게 풀어쓴 C언어 express 12장 연습문제 (0) | 2016.09.25 |
쉽게 풀어쓴 C언어 express 10장 연습문제 (0) | 2016.09.25 |
쉽게 풀어쓴 C언어 express 9장 연습문제 (0) | 2016.09.25 |
쉽게 풀어쓴 C언어 express 8장 연습문제 (0) | 2016.09.24 |