Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 항진명제
- GPT-1
- relationaldatabaseschema
- 십진법
- 이진법 십진법 변환
- 모두의네트워크정리
- statement equivalence
- 명제 동치
- Binary notation
- Tautology
- CNF
- Gate
- Sentiment Analysis
- 모두의네트워크요약
- full adder
- truth table
- ermodel
- Circuit
- 명제
- 진리표
- Contradiction
- Logical statement
- 모순명제
- Decimal notation
- 써킷
- Digital Logic Circuits
- cnn
- dnf
- half adder
- 모두의네트워크
Archives
- Today
- Total
NLP Learner in Switzerland
[C] Reverse String ::: 문자열을 입력받아 거꾸로 출력하기 본문
728x90
반응형
까다로운 부분 알아가기
[1] 최대 1000자로 제한한다
▶ const qualifier를 사용한다.
[2] string의 글자수를 세어야 reverse된 string에 인덱스를 맞춰 넣을 수 있다.
▶ string의 termination character가 '\0'이라고 했으므로, '\0'를 만날 때까지 계속 읽어서 count를 늘려준다.
[3] reverse된 string의 끝에 termination character를 넣어야 한다
▶ string의 termination character는 '\0'이다.
[4] 예시처럼 공백이 포함된 string도 정상처리 되어야 한다.
▶ %[^\n]s를 사용한다. [^\n]은 \n(줄바꿈)을 만나기 전까지의 내용을 모두 input으로 받는다는 의미이다.
[5] string을 input으로 받을 수 있도록 한다
▶ string의 경우 data type은 char이며, format specifier는 %s를 사용한다.
#include <stdio.h>
const int MAX_LENGTH = 1001; ------------ [1]
void reverse(char s[]){
int i = 0;
while(s[i] != '\0'){
i++; --------------- [2]
}
int len = i;
char reversed[len];
int j = 0;
while(s[j] != '\0'){
reversed[j] = s[len-j-1];
j++;
}
reversed[len] = '\0'; --------------- [3]
printf("Result string: %s", reversed);
}
int main(){
char s[MAX_LENGTH];
printf("Please enter a string to reverse: ");
scanf("%[^\n]s",s); ----------------- [4][5]
reverse(s);
return 0;
}
출력결과
'Algorithm in C > Exercise' 카테고리의 다른 글
[C] Multiple Recursion ::: 재귀호출이 2번 이상 일어나는 경우 (0) | 2021.04.01 |
---|---|
[C] Basic Recursion ::: 재귀함수로 거듭제곱 나타내기 (0) | 2021.03.31 |
[C] Selection Sort in Ascending & Descending Order ::: 선택정렬 (0) | 2021.03.30 |
[C] Matrix Multiplication ::: 행렬의 곱 (0) | 2021.03.29 |
[C] Perfect Square Number ::: 제곱수 판별하기 (0) | 2021.03.29 |
Comments