1. strcmp 구현
flow :  문자열 2개를 받아 한 문자씩 검사

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include<stdio.h>
 
int my_strcmp(char* str1, char* str2);
 
int main()
{
    char str1[80],str2[80];
    int check; 
    
    printf("첫 번재 비교할 문자열 입력 : ");
    gets(str1);
    printf("두 번재 비교할 문자열 입력 : ");
    gets(str2);
    check = my_strcmp(&str1,&str2);
    
    if(check ==1)
    printf("%s가 더 큽니다.",str1);
    else if(check ==-1)
    printf("%s가 더 큽니다.",str2);
    else
    printf("두 문자열이 같습니다.");
 
    return 0;    
}
 
int my_strcmp(char* str1, char* str2)
{
    while((*str1 == *str2 )&&(*str1 !='\0'))
    {
        str1++;
        str2++;    
    }
    
    if(*str1>*str2) return 1;
    else if(*str1<*str2) return -1;
    else return 0;
}
 
 
cs

2. swap

문자열 2개를 받아 한 문자씩 swap

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include<stdio.h>
#include<string.h>
 
void swap(char* str1,char* str2);
 
int main()
{
    char str1[80],str2[80];
    printf("1번 문자열을 입력하세요 : ");
    gets(str1);
    printf("2번 문자열을 입력하세요 : ");
    gets(str2);
    
    
    printf("swap 전 : %s - %s\n",str1,str2); 
    swap(&str1,&str2);
    printf("swap 후 : %s - %s",str1,str2);
    return 0;
}    
void swap(char *pa, char *pb)
{
    char temp;
    while((*pb != '\0'|| (*pa != '\0'))
    {
        temp = *pa;
        *pa = *pb;
        *pb = temp;
        
        pa++;
        pb++;
    }    
}
cs
3. 가장 긴 단어 찾기

getchar로 한문자씩 입력을 받아서 null값전까지 counting한다


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// 가장 긴 단어찾기 프로그램
 
#include <stdio.h>
 
int main(void)
{
    int ch;
    int len, max = 0;
 
    while(1)
    {
        len = 0;
 
        ch = getchar();                    // 문자 입력
        while((ch != -1&& (ch != '\n'))  // Ctrl+Z키를 누르거나 엔터 키를 치지 않는 동안
        {
            len++;                         // 문자의 수를 센다
            ch = getchar();
        }
        if(ch == -1break;                // Ctrl+Z키가 눌려진 경우 입력 종료
        if(len > max) max = len;           // 새로 입력한 단어의 길이가 현재 가장 긴                                            
    }                                      // 단어의 길이보다 길면 그 값을 가장 긴 길이로 설정
    printf("가장 긴 단어의 길이 : %d\n", max);
 
    return 0;
}
cs


+ Recent posts