[C언어] 입력 된 문자열 교환

in #kr-dev5 years ago (edited)

[C언어] 입력 된 문자열 교환


최근 일이 생겨서 일주일 정도 컴퓨터를 사용 할 수 없게 되어서 한동안 post를 중단했네요. 간간히 스마트폰으로 스티미언 글을 읽는 정도가 한계라 폰으로 post 작성이 어려워서 그냥 포기했었네요. 어느정도 마무리가 되어 다시 post를 쓰는데 감이 많이 떨어져서 글쓰기가 많이 힘드네요. 간단히 마지막 post로 올렸던 문자열 과련 코딩을 주제로 워밍업으로 간단히 post를 작성합니다.

1. 문자열 교환


여러가지 방법이 있겠지만 간단히 입력받은 문자열에서 문자열의 중간글자를 기준으로 좌우로 문자를 교환하는 방식으로 실험을 하겠습니다.

hello => olleh

"hello"라는 문자열이 중간 문자를 기준으로 좌우를 바꾸게 되면 글자가 역순으로 저장되게 되겠죠.

한번 실제로 그렇게 되는지 코딩해 봅시다.

2. 코딩


문자열을 교환하려면 우선 문자열을 길이를 구하고 그 문자열의 중심 지점을 알아야 합니다.

먼저 문자열 구하기인데 원래 문자열 길이를 구하는 함수를 사용하면 쉽게 되는데 입력된 문자열을 while()문을 이용하여 길이를 간단히 구해봤네요.

 while(str[len]) len++;

그 다음 문자열 중심은 len/2로 간단히 표현 합니다.

그 다음 len/2을 기준으로 좌우 문자열을 교환해 봅시다.

   for(int i=0;i<len/2;i++)
  {
    ch=str[i];
    str[i]=str[len-i-1];
    str[len-i-1]=ch;
  }

종합해보면,

#include<stdio.h>
void main()
{
   char str[100];
   char ch;
   int len=0;
   printf("문자열을 입력하세요 \n");
   scanf("%s",str);

   while(str[len]) len++;
 
   for(int i=0;i<len/2;i++)
  {
    ch=str[i];
    str[i]=str[len-i-1];
    str[len-i-1]=ch;
  }
  printf("변경된 문자열 : %s \n",str);
}

[결과]
a1.jpg

마무리


오늘은 그동안 post를 작성을 못해서 간단히 워밍업으로 문자열 코딩 실험을 했네요.


Sponsored ( Powered by dclick )

dclick-imagead

Sort:  

짱짱맨 호출에 응답하였습니다.

방문해주셔서 감사해요.

간만이에요^^
좋은하루보내셔요!!^

marsswim님도 즐거운 하루 되세요.

오랜만이예요. 코딩글은 꾸준하시네요^^;

외길인생이지요. ^^

c를 먼저 배워서 a <-b<-c 가 당연하다고 생각했는데 ^^;; 다른 언어는 그냥 바로 교환하더라고요. 참 진짜 ㅎㅎㅎㅎ

그래서 C언어를 배우다 힘들어서 다들 다른 언어로 갈아타지요.
보통 학창시절에 살펴보면 C언어에서 힘들어서 자바로 갈아타고 자바가 힘들어서 웹언어로 갈아타더군요.

ㅋㅋㅋㅋㅋㅋ 저도 그랬어요. ㅋㅋ c언어 극복하고싶네요.

Coin Marketplace

STEEM 0.15
TRX 0.12
JST 0.026
BTC 56095.11
ETH 2533.38
USDT 1.00
SBD 2.23