#include <stdio.h>

#include <conio.h>

#include <string.h>

void ex16()

{

char str[100];

printf("광고하고 싶은 텍스트를 입력하세요: ");

gets(str);

int len = strlen(str);

int i = 0, j = 0,k;

int lastlen = len;

for (i = 0; i < len; i++)

{

for (j = i,k=0; k<len; k++)

{

printf("%c", str[j]);

j++;

if (j > len)

{

j = 0;

}

}

printf("\n");


}

}

'공부 > C' 카테고리의 다른 글

2개의 정렬  (0) 2016.06.17
(배열 + 이진 검색)이름,성적 입력 후 이름으로 찾기  (0) 2016.06.08
선택정렬  (0) 2016.06.08
10진수 2진수 변환  (0) 2016.06.01
배열 사용 안하고 10진수 > 2진수 변환 C  (0) 2016.06.01


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

void main()

{

int i = 0;

int a[5] = { 0 };

int b[5] = { 0 };

int c[10] = { 0 };

srand(time(0));

for (i = 0; i < 5; i++)

{

a[i] = rand() % 20;

b[i] = rand() % 20;

}

merge(a, b, c, 5);

printf("배열 c는 ");

for (i = 0; i < 10; i++)

printf("%d ,", c[i]);

printf("\n");

}


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

{

int temp = 0;

int i = 0;

int j = 0,l;

int *p_a = A;

int *p_b = B;

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

for (j = i + 1; j < size; j++)

{

if (A[i] > A[j])

{

temp = A[i];

A[i] = A[j];

A[j] = temp;

}

}

}

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

for (j = i + 1; j < size; j++){

if (B[i] > B[j])

{

temp = B[i];

B[i] = B[j];

B[j] = temp;

}

}

}

printf("a의 배열은 ");

for (i = 0; i < 5; i++)

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

printf("\n");


printf("b의 배열은 ");

for (i = 0; i < 5; i++)

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

printf("\n");

int k = 0;

for (i = 0,j=0; (i<5&&j<5);k++ )

{

if (*(p_a+i) > *(p_b+j))

{

C[k] = *(p_b + j);

j++;

}

else 

{

C[k] = *(p_a + i);

i++;

}

}

if (i > j){

for (i = j; i < 5; i++)

{

C[k] = B[i];

k++;

}


}

else

{

for (j= i; j < 5; j++)

{

C[k] = A[j];

k++;

}

}

}



'공부 > C' 카테고리의 다른 글

LED전광판 만들기  (1) 2016.06.22
(배열 + 이진 검색)이름,성적 입력 후 이름으로 찾기  (0) 2016.06.08
선택정렬  (0) 2016.06.08
10진수 2진수 변환  (0) 2016.06.01
배열 사용 안하고 10진수 > 2진수 변환 C  (0) 2016.06.01

#include <stdio.h>

#include <string.h>

#define COUNT 3


void ex01()

{

char name[COUNT][10], key[10], temp_name[10]; //3명의 이름 입력

int kor[COUNT], eng[COUNT], math[COUNT], tot[COUNT], i, j, rank[COUNT], temp_int;

double avg[COUNT], temp_avg;


for (i = 0; i < COUNT; i++)

{

printf("%d번 이름 입력 : ", i + 1);

scanf("%s", name[i]);

printf("국어 성적 입력: ");

scanf("%d", &kor[i]);

printf("영어 성적 입력: ");

scanf("%d", &eng[i]);

printf("수학 성적 입력: ");

scanf("%d", &math[i]);


tot[i] = kor[i] + eng[i] + math[i];

avg[i] = (double)tot[i] / COUNT;

rank[i] = 1;

}

for (i = 0; i < COUNT - 1; i++)

{

for (j = i + 1; j < COUNT; j++)

{

if (strcmp(name[i], name[j]) > 0) //앞이 큰 경우 양수, 뒤에가 클 경우 음수, 같으면 0 

{

strcpy(temp_name, name[i]); //i번째를 임시변수에 넣는다

strcpy(name[i], name[j]);

strcpy(name[j], temp_name);

temp_int = kor[i];

kor[i] = kor[j];

kor[j] = temp_int;


temp_int = eng[i];

eng[i] = eng[j];

eng[j] = temp_int;


temp_int = math[i];

math[i] = math[j];

math[j] = temp_int;


temp_int = tot[i];

tot[i] = tot[j];

tot[j] = temp_int;


temp_avg = avg[i];

avg[i] = avg[j];

avg[j] = temp_avg;


}

}

}


for (i = 0; i < COUNT - 1; i++)

{

for (j = i + 1; j < COUNT; j++)

{

if (avg[i] < avg[j])

rank[i]++;

else if (avg[i] > avg[j])

rank[j]++;

}

}

printf("조회할 이름을 검색: ");

scanf("%s", key);

int n = binary_search(name, key);

if (n == -1)

printf("찾는 값이 없습니다.\n");

else

{

printf("탐색 결과 배열주소는 [%d] 입니다. \n", n);


printf("   성명  국어  영어  수학  총점  평균  석차 \n");


printf("%7s %5d %5d %5d %5d %5.1lf %5d \n", name[n], kor[n], eng[n], math[n], tot[n], avg[n], rank[n]);


}

}



int binary_search(char name[][10], char key[10])

{

int high = COUNT-1;

int low = 0;

int mid = 0;


while (low<=high)

{

mid= (high + low) / 2;

if (strcmp(name[mid],key) == 0)

return mid;

else if (strcmp(name[mid], key) > 0)

high = mid - 1;

else

low = mid + 1;

}

return -1;

}

'공부 > C' 카테고리의 다른 글

LED전광판 만들기  (1) 2016.06.22
2개의 정렬  (0) 2016.06.17
선택정렬  (0) 2016.06.08
10진수 2진수 변환  (0) 2016.06.01
배열 사용 안하고 10진수 > 2진수 변환 C  (0) 2016.06.01

void ex04()  //선택정렬

{

int i,j,temp;

int list[10] = { 0 };

srand(time(0));

for (i = 0; i < SIZE; i++)

{

list[i] = rand() % 100 + 1;

}


for (i = 0; i < SIZE - 1; i++)

{


for (j = i + 1; j < SIZE; j++)

{

if (list[i] > list[j])

{

temp = list[i];

list[i] = list[j];

list[j] = temp;

}

}

}

for (i = 0; i < SIZE; i++)

printf("%d ", list[i]);

printf("\n");

}

'공부 > C' 카테고리의 다른 글

LED전광판 만들기  (1) 2016.06.22
2개의 정렬  (0) 2016.06.17
(배열 + 이진 검색)이름,성적 입력 후 이름으로 찾기  (0) 2016.06.08
10진수 2진수 변환  (0) 2016.06.01
배열 사용 안하고 10진수 > 2진수 변환 C  (0) 2016.06.01

void binary()
{
 int n, na=1,i;
 scanf("%d", &n);
 while (na <= n)
  na *= 2;
 
 na /= 2;
 while (na > 0)
 {
  printf("%d", n / na);
  n = n%na;
  na /= 2;
 }
}

'공부 > C' 카테고리의 다른 글

LED전광판 만들기  (1) 2016.06.22
2개의 정렬  (0) 2016.06.17
(배열 + 이진 검색)이름,성적 입력 후 이름으로 찾기  (0) 2016.06.08
선택정렬  (0) 2016.06.08
배열 사용 안하고 10진수 > 2진수 변환 C  (0) 2016.06.01

{

int num, nam;

int lee = 0;

int count = 0;

printf("10진수 입력 : ");

scanf("%d", &num);

printf("\n");

do

{

nam = num % 2;

num = num / 2;  //여기서 num은 몫

lee += nam*pow(10, count); //카운트 적용해서 자리수 주기


count++;

} while ((num) > 0);


printf("2진수 : %d\n", lee);

}

'공부 > C' 카테고리의 다른 글

LED전광판 만들기  (1) 2016.06.22
2개의 정렬  (0) 2016.06.17
(배열 + 이진 검색)이름,성적 입력 후 이름으로 찾기  (0) 2016.06.08
선택정렬  (0) 2016.06.08
10진수 2진수 변환  (0) 2016.06.01

+ Recent posts