본문 바로가기

자료구조

자료구조 ( 실습 2 )

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#define MAX_SIZE 100


void main() {
    char name[MAX_SIZE];
    char s1 [MAX_SIZE];
    
    /*
     문자열 입력
     *Parameter 1 : 티켓 변수
     *Parameter 2 : 버퍼 사이즈, 배열 사이즈
     */
    
    printf("이름 입력>>");
    gets(name);
    printf("%s\n", name);
    
    strcpy(name, "Hello");
    strcpy(s1, "World");
    strcat(name, s1);
    printf("%s\n", name);
    
    
    strncpy(s1, name, 2);
    s1[2] = '\n';
    printf("%s\n", s1); 


    
}
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>

#define MAX_SIZE 100


void main() {


    char str1[MAX_SIZE];
    char str2[MAX_SIZE];
       
    printf("첫번째 문자열 입력>");
    gets(str1);


    printf("두번째 문자열 입력>");
    gets(str2);


    strcat(str1, str2);
    printf("%s", str1);


    strrev(str1);
    printf("%s", str1);
}
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>


#define MAX_SIZE 100


void main() {


    char str1[MAX_SIZE];
    char str2[MAX_SIZE];
       
    printf("첫번째 문자열 입력>");
    gets(str1);


    char* tokens = strtok(str1, " ");
    while (tokens != NULL) {
        printf("%s\n", tokens);
        tokens = strtok(NULL, " ");
    };
}
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>


#define MAX_SIZE 100


void strnins(char* s, char* t, int i);


void main() {


    char s[MAX_SIZE] = "Hello";
    char t[MAX_SIZE] = "A";
    
    strnins(s, t, 2);
    printf("%s", s);
}


void strnins (char*s,char* t, int i) {
    // 스트링 s의 i번째 위치에 스트링 t를 삽입

    char string[MAX_SIZE], *temp = string;
    
    if (i < 0 && i > strlen(s)) {
        fprintf(stderr, "Position is out of bounds\n");
        exit(1);
    }
    if (!strlen(s))
        strcpy(s,t);
    else if (strlen(t)) {
        
        strcat(t, s+i); // Allo
        // printf("%s\n", s+i);
        strcpy(s + i, t);
        
    }
}

 

문제 : Hello라는 문자열에 홀수 번째 인덱스에다가 띄어쓰기를 삽입

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>


#define MAX_SIZE 100


void strnins(char* s, char* t, int i);


void main() {
    // 문제 : Hello라는 문자열에 홀수 번째 인덱스에다가 띄어쓰기를 삽입
    char s[MAX_SIZE] = "Hello";
    char t[MAX_SIZE] = " ";
    
    int len = strlen(s);
    for (int i = 1; i <strlen(s)*2; i+=2) {
        strnins(s, t, 2);
        strcpy(t, " ");
    }
    printf("%s", s);

}

 

아래와 같이 나오도록 코드를 작성

 I Love You.

 .I Love You

 u.I Love Yo

 ou.I Love Y

 You.I Love

  You.I Love

 e You.I Lov

 ve You.I Lo

 ove You.I L

 Love You.I

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>


#define MAX_SIZE 100

void main() {
    
    char tempStr[MAX_SIZE];
    int i, j = 0;
    char tempChar = "\n";
    
    printf("문자열을 입력하세요 >> ");
    gets(tempStr);
    
    for(i = 0; i < strlen(tempStr)-1; i++) {
        printf("%s\n", tempStr);
        
        tempChar = tempStr[strlen(tempStr) -1];
        
        for(j = strlen(tempStr)-1; j >0; j--){
            tempStr[j] = tempStr[j-1];
        }
        tempStr[0] = tempChar;
    }
    
}

 

// 원하는 문자 부터 끝까지 출력

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>


#define MAX_SIZE 100


// 원하는 문자 부터 끝까지 출력
void substr (int s, int e, char* str);


void main() {
    
    char str[MAX_SIZE] = "Hello";
    char findStr[MAX_SIZE];
    int starCharldx = 0;
    int count = 0;
    
    substr(1, 3, str); // 여기 3 자리에 숫자를 넣어 몇번째 문자열 부터 출력할건지 결정
    // 문자열 : "Hello"
       인덱스 : 01234
       s = 1, e = 3 이라면 ell로 서브스트링 된다 //
    
}


void substr(int s, int e, char* str) {
    char temp[MAX_SIZE];
    strncpy(temp, str + s, e - s + 1);
    temp [e - s + 1] = 0;
    printf("%s\n", temp);
}
#include <stdio.h>
#include <string.h>
#define MAX_SIZE 10000


#define TRUE 1
#define FALSE 0


//int substr(int s, int e, char* str, char* findStr);
void substr(int s, int e, char* str);


void main() {
   char str[MAX_SIZE] = "Hello";
   char findStr[MAX_SIZE];
   int startCharIdx = 0;
   int count = 0;
}


void substr(int s, int e, char* str) {
   char temp[MAX_SIZE];
   strncpy(temp, str + s, e - s + 1);
   temp[e - s + 1] = 0;
   printf("%s\n", temp);
}

 

'자료구조' 카테고리의 다른 글

자료구조 ( 실습 1 )  (0) 2021.10.17