" async="async"> ', { cookie_domain: 'auto', cookie_flags: 'max-age=0;domain=.tistory.com', cookie_expires: 7 * 24 * 60 * 60 // 7 days, in seconds }); 책 알려주는 남자 :: 쉽게 풀어쓴 C언어 Express 11장 Programming

11장 Programming


1.

#include <stdio.h>


int main(){

int x=0x12345678;

unsigned char *xp=(char *)&x;
        // x의 주소값을 char형으로 변환

printf("바이트 순서: %x %x %x %x\n", xp[0], xp[1], xp[2], xp[3]);     
        //xp의 배열을 출력 

if(xp[0]=='Ctrl-R DC2') printf("해당 CPU는 빅엔디언입니다.\n");

else if (xp[0]=='x')                 printf("해당 CPU는 리틀 엔디언입니다.\n");

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;

 

 int main()

 {

int x, y;

int p_sum;

int p_diff;

printf("두개의 정수를 큰 순서대로 입력하시오: ");

scanf("%d %d", &p_sum, &p_diff);

get_sum_diff(x, y, &x, &y);

printf("두 수의 합: %d\n", p_sum);

printf("두 수의 차: %d\n", p_diff); 

  return 0;

 }


3.

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#define SIZE 10 


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]);

}

}


void main(){

srand((unsigned)time(NULL));

int A[SIZE];

array_fill(A, SIZE);

}



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==size-1) printf("%d");

else printf("%d, ", A[i]);

}

printf(" }\n");

}


void main(){

int A[5];

array_print(A, 5);

}


5.

#include <stdio.h>


void convert(double *grades, double *scores, int size){

int i;

printf("scores[] = { ");

for(i=0; i<size; i++){

scores[i]=100*grades[i]/4.3;

if(i==size-1) printf("%3.2lf }", scores[i]);

else printf("%3.2lf, ", scores[i]);

}

}


void main(){

double grades[] = { 1.5, 2.3, 2.6, 3.1, 3.3, 3.5, 3.85, 4.1, 4.21, 4.3};

double scores[10];

convert(grades, scores, 10);

}


6.

#include <stdio.h>


void array_copy (int *A, int *B, int size){

int i;

printf("B[] = {");

for(i=0; i<size; i++){

B[i]=A[i];

if(i==size-1) printf("%d }", B[i]);

else printf("%d, ", B[i]);

}

}


void main(){

int A[]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

int B[10];

array_copy(A, B, 10);

}


7.

#include <stdio.h>


void array_add (int *A, int *B, int *C, int size){

int i;

printf("각 사원들의 총 월급액 = {");

for(i=0; i<size; i++){

C[i]=A[i]+B[i];

if(i==size-1) printf("%d만원 }", C[i]);

else printf("%d만원, ", C[i]);

}

}


void main(){

int A[]={170, 132, 123, 124, 155, 186, 171, 189, 193, 210};

int B[]={30, 12, 15, 22, 38, 25, 55, 45, 36, 19};

int C[10]={0};

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;

}


void main(){

int A[]={170, 132, 123, 124, 155, 186, 171, 189, 193, 210};

printf("지급할 월급 총액:  %d만원", array_sum(A, 10));


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)

printf("%d번째 사원의 월급이 200만원입니다.\n", i+1);

}

return 0;

}


void main(){

int A[]={170, 200, 123, 124, 155, 186, 200, 189, 193, 210};

search(A, 10, 200);


10.

#include <stdio.h>


int get_gcd(int x, int y){

while(y!=0){

int a=x%y;

x=y;

y=a;

}

return x;

}


void get_lcm_gcd(int x, int y, int *p_lcm, int *p_gcd){

*p_gcd = get_gcd(x, y);

*p_lcm = (x*y) / *p_gcd;

}


void main(){

int x, y;

int lcm, gcd;

printf("두 개의 정수를 입력하시오 : ");

scanf("%d %d", &x, &y);

get_gcd(x, y);

get_lcm_gcd(x, y, &lcm, &gcd);

printf("두 수의 최소공배수는 %d이고 최대공약수는 %d 이다", lcm, gcd);

}


11.

#include <stdio.h>

#define SIZE 4


void merge(int *A, int *B, int *C, int size){


int i, a=0, b=0;


for(i=0; i<size*2; i++){

if(a<size && b<size){

if(A[a]<=B[b]){

C[i]=A[a];

a++;

}

else if(A[a]>B[b]){

C[i]=B[b];

b++;

}

}

else if(a==size){

C[i]=B[b];

b++;

}

else if(b==size){

C[i]=A[a]; 

a++;

}

}

}


void main(){


int A[SIZE] = {2, 5, 7, 8};

int B[SIZE] = {1, 3, 4, 6};

int C[SIZE*2]={0};

merge(A, B, C, SIZE);

print_merge(A, SIZE);

print_merge(B, SIZE);

print_merge(C, SIZE*2);

}


void print_merge(int *A, int size){

int i;

static ch = 'A';

printf("%c[] = {" , ch);

for(i=0; i<size; i++){

if (i==size-1) printf("%d }\n", A[i]);

else printf("%d, ", A[i]);

}

ch++;

}

블로그 이미지

얼음꿀차

책을 한 번 읽긴 읽어야겠는데 막상 읽자니 뭘 읽을지 고민되는 당신을 위해 읽을만한 책들을 알려드립니다!

,