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
32
33
34
35
36
37
38
39
40
41
|
#include <stdio.h>
#include <string.h>
#pragma warning (disable:4996)
int main()
{
char string[100];
char temp;
int index;
scanf("%s", string);
while (strlen(string) != 1) { // 문자열에 문자가 하나만 남을 때까지
scanf("%d", &index); // 삭제할 문자의 위치를 입력받음
// 문자열의 길이보다 더 큰 위치를 입력받으면
if (strlen(string) < index) {
string[strlen(string)-1] = '\0'; // 가장 뒤의 문자 삭제
}
// 범위 내의 위치를 입력받으면
else {
string[index - 1] = '\0'; // 해당 부분을 NUL로 지정하여 삭제함 - strlen의 길이 조정
for (int i = index - 1; string[i + 1] != '\0'; i++) {
temp = string[i + 1]; // 스왑하며 한 칸씩 당겨옴
string[i + 1] = string[i];
string[i] = temp;
}
}
printf("%s\n", string);
}
return 0;
}
|
cs |
프로그래밍 문제/정올