[ 문제 1 ][레벨 0] 사용자로부터 공백을 포함하지 않는 문자열을 입력 받은 후 소문자만 출력하는 프로그램을 작성하시오.
- 입력 받는 문자열 길이는 최대 20 이다.
입력예시 | 출력예시 |
HelloWorld |
elloorld
|
#include <stdio.h>
#include <string.h>
int main(){
char str[21];
scanf("%s", str);
for(int i=0;i<21;i++){
if(str[i] == '\0') break;
if(str[i] >= 'a' && str[i] <= 'z'){
printf("%c",str[i]);
}
}
}
[ 문제 2 ][레벨 0] 임의의 정수를 입력으로 받아, 정수를 한 자리씩 문자로 변환시켜, 마 지막 자릿수부터 차례로 문자 배열에 저장한 후 출력하는 프로그램을 작성 하시오.
▶ 출력 시 문자열 출력 %s 를 사용한다. (%c 사용금지)
- 입력 받는 숫자는 최대 9 자리 수이다.
입력예시 | 출력예시 |
9756
|
6579
|
#include <stdio.h>
#include <string.h>
int main(){
int N, i=0;
scanf("%d", &N);
char str[10];
while(N != 0){
str[i++]= N%10 + '0';
N /= 10;
}
str[i] = '\0';
printf("%s",str);
}
[ 문제 3 ][레벨 0] 사용자로부터 공백을 포함하지 않는 문자열을 하나 입력 받아 예제와 같이 한 칸씩 미루며 출력하는 프로그램을 작성 하시오.
- 입력 받는 문자열 길이는 최대 100 이다.
▶ 출력 시 문자열 출력을 사용한다. (%c 사용금지)
입력예시 | 출력예시 |
abcde
|
abcde
bcdea cdeab deabc eabcd |
#include <stdio.h>
#include <string.h>
int main(){
char str[101];
scanf("%s", str);
int cnt=0;
for(int i=0;str[i]!='\0';i++){
cnt++;
}
for(int i=0;i<cnt;i++){
printf("%s\n",str);
char tmp;
tmp = str[0];
for(int j=0;j<cnt-1;j++){
str[j] = str[j+1];
}
str[cnt-1] = tmp;
}
}
[ 문제 4 ][레벨 0] 사용자로부터 공백을 포함하지 않는 문자열 2개를 받아서, 이들 문자 열이 일치하는지를 검사하는 프로그램을 작성하시오.
- 단, 표준 문자열 처리 함수 strlen( )와 strcmp( ) 사용금지
- 입력 받는 2개의 문자열 길이는 최대 100이다.
- 첫 번째 문자열의 길이를 출력하고, 일치하면 1 불일치하면 0을 출력하시오.
입력예시 | 출력예시 |
Hello World |
5 0 |
#include <stdio.h>
#include <string.h>
int main(){
char str1[101], str2[101];
int cnt1 = 0, cnt2 = 0, flag = 0;
scanf("%s", str1);
scanf("%s", str2);
for(int i=0 ; str1[i] != '\0' ; i++){
cnt1++;
}
for(int i=0 ; str2[i] != '\0' ; i++){
cnt2++;
}
printf("%d", cnt1);
if(cnt1==cnt2){
for(int i=0;i<cnt1;i++){
if(str1[i] == str2[i]){
flag++;
}
}
if(flag==cnt1) printf(" 1");
else printf(" 0");
}
else{
printf(" 0");
}
}
[ 문제 5 ][레벨 1] 사용자에게 공백을 포함하지 않는 영문 문자열 str1, str2와 삽입 위치 를 입력 받은 후, str1의 해당 위치에 str2를 삽입하는 프로그램을 작성하시오.
- 입력 받는 각각의 문자열 길이는 최대 20 이다. - 삽입 위치는 str1의 길이 보다 항상 작거나 같다.
- 삽입 위치 0은 첫 번째 위치에 삽입하라는 의미이다. (0, 1, 2, ...)
- str1, str2 이외의 문자열을 선언하지 않고, str1에 결과를 저장 후 출력한다.
▶ 출력 시 문자열 출력을 사용한다. (%c 사용금지)
입력예시 | 출력예시 |
abcde 123 2 |
ab123cde |
#include <stdio.h>
#include <string.h>
int main(){
char str1[41], str2[21];
int N, cnt1 = 0, cnt2 = 0;
scanf("%s", str1);
scanf("%s", str2);
scanf("%d", &N);
for(int i=0;str1[i]!='\0';i++){
cnt1++;
}
for(int i=0;str2[i]!='\0';i++){
cnt2++;
}
for(int i=0;i<cnt1-N;i++){
str1[N+cnt2+i]=str1[N+i];
}
for(int i=0;i<cnt2;i++){
str1[N+i]=str2[i];
}
printf("%s", str1);
}
[ 문제 6 ][레벨 1] 앞의 [ 문제 5 ]에서 str2의 반전 여부를 추가로 입력 받은 후 입력값 에 따라 정순 또는 역순으로 문자열을 삽입하는 프로그램을 작성하시오.
- [ 문제 5 ]의 제한조건을 따른다.
0: 정순 삽입, 1: 역순 삽입
▶ 출력 시 문자열 출력을 사용한다. (%c 사용금지)
입력예시 | 출력예시 |
abcde 123 2 1 |
ab321cde
|
#include <stdio.h>
#include <string.h>
int main(){
char str1[41], str2[21];
int N, flag,cnt1 = 0, cnt2 = 0;
scanf("%s", str1);
scanf("%s", str2);
scanf("%d", &N);
scanf("%d", &flag);
for(int i=0;str1[i]!='\0';i++){
cnt1++;
}
for(int i=0;str2[i]!='\0';i++){
cnt2++;
}
for(int i=0;i<cnt1-N;i++){
str1[N+cnt2+i]=str1[N+i];
}
if(flag == 0){
for(int i=0;i<cnt2;i++){
str1[N+i]=str2[i];
}
}
else if(flag == 1){
for(int i=cnt2-1;i>=0;i--){
str1[N++]=str2[i];
}
}
printf("%s", str1);
}
[ 문제 7 ][레벨 2] 사용자로부터 정수 N을 입력받아 그 값을 표현하는 문자열로 출력하 는 프로그램을 작성하시오.
- 단, 10000 보다 작은 정수를 입력하시오
- 표기는 다음과 같다.
◦ 숫자 영어 표기: one two three four five six seven eight nine
◦ 십진수 자릿수 표기: 천 THO 백 HUN 십 TEN (일자리에는 숫자만 출력)
◦ 숫자 영에 해당하는 자릿수와 숫자 0은 출력하지 않는다.
입력예시 | 출력예시 |
3496 |
three THO four HUN nine TEN six
|
#include <stdio.h>
#include <string.h>
int main(){
int N, cnt=0;
scanf("%d", &N);
char num[11][10] = {" ", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
int tho = N/1000;
int hun = N %1000/100;
int ten = N%100/10;
int one = N%10;
if(tho){
printf("%s THO ",num[tho]);
}
if(hun){
printf("%s HUN ",num[hun]);
}
if(ten){
printf("%s TEN ",num[ten]);
}
if(one){
printf("%s", num[one]);
}
}
'C프로그래밍 > C언어 문제풀이' 카테고리의 다른 글
[C언어] 구조체 예제풀이 (0) | 2025.02.24 |
---|---|
[C언어] 문자열 예제풀이2 (0) | 2025.02.18 |
[C언어] 포인터 예제풀이 (0) | 2025.02.08 |
[C언어] 배열 예제풀이2 (1) | 2025.02.06 |
[C언어] 함수 예제풀이 (1) | 2025.02.03 |