[ICON] C언어 멘토링 - 14차시 수업 : 문자열(포인터, 매개변수)

hhhhyelim·2022년 11월 14일
0

ICON

목록 보기
16/17
post-thumbnail

📆 일시

: 2022/11/14

📝 수업 내용

  • 문자열 포인터
    - char*형의 문자열 포인터
    - const char*형의 문자열 포인터
    - 문자열 사용을 위한 가이드라인
  • 문자열의 배열
    - 2차원 문자 배열
    - 문자열 포인터 배열

💻 실습 내용

  • 문자열을 역순으로 만드는 함수를 이용해 입력 받은 한 줄의 문자열을 역순으로 출력하는 프로그램

  • 학교 사이트에 회원가입을 하려는 사용자로 부터 아이디를 입력받아 유효한 아이디인지 검사하는 프로그램(영문자 시작, 8자 이상)


📚 과제(4문제)

  1. 영문으로 된 이름을 입력받아 이니셜을 출력하는 프로그램을 작성하세요.

👉실행 예시

영문 이름? Computer Programming Language
이니셜: CPL

👉힌트

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

int main(void)
{
  char name[64];
  char initial[64] = "";
  char* p = NULL;  




  printf("이니셜: %s\n", initial);
}
  1. 대소문자를 구분하지 않고 문자열을 비교하는 함수를 작성하시오. 이 함수의 리턴값은 strcmp와 마찬가지로 lhs가 rhs보다 크면 1, 두 문자열이 같으면 0, lhs가 rhs보다 작으면 -1로 리턴한다. srcmp_ic함수를 이용해서 입력받은 두 문자열을 비교하는 프로그램을 작성하시오.

👉실행 예시1

첫 번째 문자열? Happy
두 번째 문자열? haPPy
Happy == haPPy

👉실행 예시2

첫 번째 문자열? Happy
두 번째 문자열? Happies
Happy > Happies

👉실행 예시3

첫 번째 문자열? Hapies
두 번째 문자열? Happy
Happy < haPPy
  1. 시저 암호 방법을 이용하여 문자열과 암호 키를 입력받아서 암호화된 문자열을 다른 문자열로 저장한 후 출력하는 프로그램을 작성하시오.

👉참고

시저 암호는 간단한 암호로 암호화하고자 하는 문자열의
각 알파벳에 암호 키를 더하여 다른 알파벳으로 치환하는 방식이다. 
예를 들어 B를 3만큼 더하여 치환하면 E가 되는 식이다.

👉실행 예시1

문자열 입력: abc
암호 키(정수)? 5

원본 문자열: abc
암호화된 문자열: fgh

👉실행 예시2

문자열 입력: xyz
암호 키(정수)? 3

원본 문자열: xyz
암호화된 문자열: abc

👉실행 예시3

문자열 입력: happy day
암호 키(정수)? 2

원본 문자열: happy day
암호화된 문자열: jcrra fca
  1. 이동할 글자수를 입력받아 문자열을 오른쪽으로 회전한 결과를 출력하는 프로그램을 작성하시오

👉참고

- 예를 들어 "abcde"를 오른쪽으로 2글자 회전하면 "deabc"가 된다.
- 이동할 글자수로 0이 입력되면 프로그램을 종료한다.

👉실행 예시

문자열 입력: abcde 12345

이동할 글자수 입력: 3
345abcde 12

이동할 글자수 입력: 5
abcde 12345

이동할 글자수 입력: 0

0개의 댓글