C언어 9

[C] 표준 입력 함수 scanf, getchar, gets, getch, getche, fgets)

평소 fgets나 gets함수는 잘 안쓰는 편인데, 입력 받을 때 scanf만 쓰는 것으로는 한계가 있기 떄문에 각 함수의 특징을 알아둘 필요가 있을 것 같다. 1-1. scanf() 1-2. sscanf() 2. getchar() 3-1. gets() 3-2. get_s() 3-3. fgets() 4. getche() 4-2. getch() 1-1. scanf() stdio.h - 공백을 읽을 수가 없어 문자열을 입력받을 때는 적합하지 않다. 예) hello world를 %s로 입력받을 경우 hello만 입력이 된다. (enter값을 data로 취급하지 않음) - 입력 data를 구별해주기 위해 공백문자를 구분 문자로 취급한다. - 버퍼에서 data를 읽어 들인 후에 버퍼 포인터를 엔터 값 뒤로 이동시..

C 이론 2021.05.23

[C언어] SWEA 1970 쉬운 거스름돈

문제 : 거스름돈을 최소 개수로 되돌려 줄 때 필요한 거스름돈 수 거스름돈은 5만원부터 10원까지 있음. 제약 사항 : 입력하는 돈 N은 10~1,000,000이하의 정수, N의 마지막 자릿수는 항상 0 코드 #include #include int main(void){ int i, j, n, testCase; int money [8] = {50000, 10000, 5000, 1000, 500, 100, 50, 10}; int **answer; scanf("%d", &testCase); answer = (int**)malloc(sizeof(int*)*testCase); for(i=0; i

SWEA/[D2] 2020.08.09

[C언어] SWEA 1989 초심자의 회문검사

회문이란? 거꾸로 읽어도 원래 읽은 것과 똑같은 단어 level, mom, eye 등 문제 : 단어를 입력받아 회문이면 1, 회문이 아니면 0을 출력함. (제한 : 단어 길이는 3~10) 코드 //SWEA1989 초심자의 회문검사 #include #include #include int check(char* w); int main(void){ int testCase, i, *answer; char word[11]; scanf("%d", &testCase); answer = (int*)malloc(sizeof(int)*testCase); for(i=0; i

SWEA/[D2] 2020.08.09

[C언어] SWEA 1945 간단한 소인수분해

2, 3, 5, 7, 11로 나눈 횟수를 출력한다. 배열을 생성해 각 수로 나눠질 때마다 1씩 증가시켰다. #include int main(void) { int n[5] = { 2, 3, 5, 7, 11 }; int N, T; scanf("%d", &T); for (int tc = 0; tc < T; tc++) { int an[5] = { 0 }; scanf("%d", &N); for (int i = 0; i < 5; i++) { for (;;) { if (N % n[i] == 0) { an[i]++; N /= n[i]; } else { break; } } } printf("#%d ", tc + 1); for (int i = 0; i < 5; i++)printf("%d ", an[i]); printf("..

SWEA/[D2] 2020.07.17

자릿수 출력_C언어

입력 받는 정수의 자릿수 출력하기(2가지) 1. 입력받는 양의 정수가 세자릿수 이하라는 조건 / if문만 이용했을 때 if문안의 조건 : 단순하게 수의 범위를 나눔. 세자릿수 이하라는 조건이 있어서 가능한 것. //자릿수 출력 #include int main(void){ int a; printf("Enter an positive integer: "); scanf("%d",&a);//정수 입력받음 if(a>0&&a 한자리 else if(a>=10&&a 두자리 else if(a>=100&&a 세자리 else printf("Error!\n");//범위를 벗어나면 error 출력 return 0; } 2. 입력 받는 정수는 음이 아닌 정수. if문과 do-while문 사용. int형 안의 정수로 입력받아야 자릿..