[문제]
사용자로부터 영단어를 입력 받아서 char형 배열에 저장한다. 그 다음 배열에 저장된 영단어를 역순으로 뒤집는다. 그리고 역순으로 뒤집은 단어를 출력한다.
조건1) 배열을 하나만 사용할 것
[실행결과]
단어 입력: banana
ananab
[코드]
#include<stdio.h>
int main(void)
{
char voca[100];
char temp;
int i, len = 0;
printf("단어 입력: ");
scanf_s("%s", voca, 100);
while (voca[len] != '\0')
len++;
for (i = 0; i < len / 2; i++)
{
temp = voca[i];
voca[i] = voca[(len - i) - 1];
voca[(len - i) - 1] = temp;
}
printf("%s", voca);
return 0;
}
[연습 코드1]
#include<stdio.h>
#define LEN 30
void ReverseArr(char* ori, int len);
int main(void)
{
char arr[LEN];
int len;
printf("단어 입력: ");
scanf_s("%s", arr, LEN);
len = strlen(arr);
ReverseArr(arr, len);
printf("%s", arr);
return 0;
}
void ReverseArr(char* ori, int len)
{
char temp;
for (int i = 0; i < len / 2; i++)
{
temp = ori[i];
ori[i] = ori[len - i - 1];
ori[len - i - 1] = temp;
}
}
<참고>
윤성우의 열혈 C 프로그래밍