분류 전체보기(394)
-
char 배열에서 공백을 포함해서 문자열 입력받기
%s로 문자열을 입력받으면 공백은 받지 못한다. 공백을 포함해서 받으려면 %[^\n]s로 입력받아야 한다. --> 개행을 입력받기 전까지 계속 입력받는다는 뜻
2022.12.30 -
strlen(str) 을 for문에 넣으면 시간이 너무 오래걸림
for문에 넣으면 조건검사할 때마다 strlen 함수를 계산하므로 시간이 오래걸려서 시간 초과가 뜨게 된다. int size=strlen(str); 로 처음에 구해놓고 for문에 사용하자
2022.12.30 -
동적할당 - malloc
stdlib.h 헤더파일에 있음 #include int main(){ char * str=(char *)malloc(sizeof(char)*100); //char 타입 크기로 100개 동적 할당 ... free(str); //할당 해제 return 0; } malloc은 반환형이 void * 타입이라 원하는 타입으로 바꿔줘야 함
2022.12.30 -
알파벳 대소문자 변환
#include 요 헤더파일에 있는 toupper, tolower 함수 사용해야함 #include #include #include int main(){ char str[1000]; scanf("%s", str); // zZa 입력받았다고 가정 for(int i=0; iZZA str[i]=tolower(str[i]); //다 소문자로 변환 -->zza } } 대문자인지 소문자인지 확인하는 함수도 저 헤더파일에 있음 if(isupper(str[i])) ... else if(islower(str[i]))...
2022.12.30 -
주어진 글자의 아스키 코드값을 출력
char 타입으로 입력받아서 int 타입으로 출력하면 됨 char a; scanf("%c",&a); printf("%d",a); 아스키코드 값으로 사칙연산 가능함 int a='b'-'a'; a에는 1저장 //'a'는 97, 'b'는 98
2022.12.29 -
숫자를 입력받아 각 자리수의 합 구하기
int number; //숫자입력받기 cin>>number; //number가 112라고 치면 int sum; while(number!=0){ sum+=number%10; //1의자리 획득=2, 1, 1 number=number/10; //1의자리 없애고 남기기=11,1,0 }
2022.12.29