2022. 2. 16. 16:30ㆍ과제 업로드
#include <stdio.h>
#include <string.h>
void main()
{
//입력된 문자열을 반대로 출력
char ss[20];
char ww[20] = {NULL};
int len1;
printf("문자열을 입력하시오 =>");
gets(ss);
len1 = strlen(ss);
for (int i = 0; i < len1; i++)
{
ww[i] = ss[len1 - i-1];
}
printf("내용을 거꾸로 출력 => %s", ww);
}
#include <stdio.h>
#include <string.h>
#include<malloc.h>
#define MAX_INPUT 100
void main()
{
char input_string[MAX_INPUT]; //사용자로부터 입력받는 문자열을 저장하는 배열
char* output; //대문자 소문자를 교체한 뒤에 그 결과를 담는 포인터
int length; //NULL문자를 포함한 사용자 입력 문자열의 '문자 개수'를 담는 일반 변수
printf("문자를 입력하세요(50자이내로) : ");
fgets(input_string, MAX_INPUT - 1, stdin); //문자열 입력함수, 최대 49자 입력가능 ( NULL문자 자리는 비워둬야함.)
length = strlen(input_string) + 1; //입력한 문자열의 문자개수 + NULL문자 (1개)
output = (char *)calloc(length, sizeof(char)); //포인터 변수에 메모리 할당(배열처럼 됩니다) 후 초기화, 할당하는 크기는 char 자료형(1byte)이 입력된 문자의 개수 + NULL문자 개수(1개) 만큼의 크기
for (int i = 0; i < length; i++)
{
if (input_string[i] >= 'a' && input_string[i] <= 'z') // 입력된 문자열 중 i번째 인덱스의 '문자'가 소문자일때 작동
{
output[i] = input_string[i] + 'A' - 'a'; //포인터 변수의 i 번째 주소에 소문자를 대문자로 바꾼 뒤 대입
}
else if (input_string[i] >= 'A' && input_string[i] <= 'Z') //입력된 문자열 중 i번째 인덱스의 '문자'가 대문자일때 작동
{
output[i] = input_string[i] - ('A' - 'a');//포인터 변수의 i 번째 주소에 대문자를 소문자로 바꾼 뒤 대입
}
else
{
output[i] = input_string[i]; //대문자 소문자 외의 문자는 그대로 유지하며 포인터 변수의 i번째 주소에 대입
}
}
printf("문자 입력\t: %s", input_string); //사용자로부터 입력받은 문자열이 담긴 배열을 출력
printf("변형된 문자\t: %s", output); // 대소문자를 맞바꾼 문자열을 입력받은 포인터를 출력
free(output);
}
'과제 업로드' 카테고리의 다른 글
2022.02.23 구조체를 활용하여 가족 신상을 입력 받아 출력하는 프로그램을 작성 (0) | 2022.02.23 |
---|---|
2022.02.18 알고리즘 연습 (0) | 2022.02.21 |
2022.02.16 배열의 출력_array (array03, array04) (0) | 2022.02.16 |
C&C++완벽가이드 p.73 실습과제 (0) | 2022.02.15 |
2022.02.10 for_while_dowhile.c 문제 (0) | 2022.02.15 |