본문 바로가기

c언어 콘서트23

[c언어 콘서트] 4장 (수식과 연산자) [4장 1번] 사용자로부터 2개의 정수를 받아서 첫 번째 정수를 두 번째 정수로 나누었을 때의 몫과 나머지를 계산하는 프로그램을 작성하라. 예를 들어서 10과 3이 입력되면 몫으로는 3, 나머지로는 1이 출력되어야 한다. [풀이]#include int main() { int a, b; printf("첫 번째 정수를 입력하시오 : "); scanf("%d", &a); printf("두 번째 정수를 입력하시오 : "); scanf("%d", &b); printf("몫은 %d이고 나머지는 %d입니다.\n", a / b, a%b); return 0; } [4장 2번] 사용자로부터 하나의 정수를 받아서 정수의 세제곱값을 계산하여 출력하는 프로그램을 작성하라, 예를 들어서 사용자가 3을 입력하였다면 3*3*3=27.. 2019. 3. 16.
[c언어 콘서트] 3장 (변수와 자료형) [3장 1번] 사용자로부터 소수점 표기 형식으로 실수를 읽어서 지수 형식으로 출력하는 프로그램을 작성하라. [Hint] printf()에서 소수점 표기 형식은 %f, 지수형식은 %e로 출력할 수 있다. [풀이]#include int main() { float a; printf("실수를 입력하시오 : "); scanf("%f", &a); printf("지수 형식으로는 %e입니다.\n", a); return 0; } [3장 2번] 사용자에게 받은 문자의 아스키 코드를 출력하는 프로그램을 작성하시오. [Hint] 문자는 아스키 코드라는 숫자로 컴퓨터 내부에서 표현된다. 문자를 %c로 받아서 char형 변수에 저장한 후에 %d로 출력하면 된다. [풀이]#include int main() { char a; pri.. 2019. 3. 3.
[c언어 콘서트] 2장 (기초 사항) [2장 1번] 사용자의 이름, 주소, 전화번호를 화면에 출력하는 프로그램을 작성해보자. [풀이]#include int main() { printf("이름 : 홍길동\n"); printf("주소 : 서울시 종로구\n"); printf("전화번호 : 111-222\n"); return 0; } [2장 2번] 다음과 같이 출력하는 프로그램을 작성하라. 제품의 가격은 price라는 변수에 저장되어 있다고 가정한다. [풀이]#include int main() { int price = 22000; printf("제품의 가격은 %d원 입니다.\n"); return 0; } [2장 3번] 사용자로부터 세 개의 정수를 입력받은 후, 평균값을 계산하여 화면에 출력하는 프로그램을 작성하라. [풀이]#include int m.. 2019. 3. 3.
[c언어콘서트] 10장 14번 (철자 교정 프로그램) [10장 14번] 간단한 철자 교정 프로그램을 작성해보자. 문장의 끝에 마침표가 존재하는지를 검사한다. 역시 마침표가 없으면 넣어준다. 또한 문자열의 첫 번째 문자가 대문자인지를 검사한다. 만약 대문자가 아니면 대문자로 변환한다. 즉 입력된 문자열이 "pointer is easy"라면 "Pointer is easy."로 변환하여 화면에 출력한다. [풀이]#include #include #include int main() { char buffer[100]; int len; printf("텍스트를 입력하시오 : "); scanf("%[^\n]s", buffer); buffer[0] = toupper(buffer[0]); len = strlen(buffer); if (buffer[len - 1] != '.').. 2018. 10. 22.
[c언어콘서트] 10장 13번 (문자의 빈도 계산) [10장 13번] 사용자로부터 받은 문자열에서 각각의 문자가 나타나는 빈도를 계산하여 출력하는 프로그램을 작성하시오. [풀이]#include int main() { int i; char buffer[200]; char ascii[127] = { 0, }; printf("텍스트를 입력하시오 : "); scanf("%[^\n]s", buffer); for (i = 0; buffer[i]; i++) ascii[buffer[i]]++; for (i = 0; i < 26; i++) printf("%c : %d\n", 'a' + i, ascii['a' + i]); for (i = 0; i < 26; i++) printf("%c : %d\n", 'A' + i, ascii['A' + i]); return 0; } 2018. 10. 22.
[c언어콘서트]10장 12번 (문자열의 공백 삭제) [10장 12번] 문자열을 입력으로 받아서 문자열에 포함된 모든 공백 문자를 삭제하는 함수를 작성하고 테스트하라. [풀이]#include #include #include int main() { char buffer[20]; printf("텍스트를 입력하시오 : "); scanf("%[^\n]s", buffer); for (int i = 0; buffer[i]; i++) if (isspace(buffer[i])) strcpy(&buffer[i], &buffer[i + 1]); printf("공백이 제거된 문자열 : %s\n", buffer); return 0; } 2018. 10. 22.
[c언어콘서트]10장 11번 (문자를 아스키값으로 변환) [10장 11번] 사용자로부터 문자를 입력받아서 그 문자의 아스키 코드 값을 출력하는 프로그램을 작성하라. [풀이]#include #include int main() { char buffer; printf("문자 하나를 입력하시오 : "); scanf("%c", &buffer); printf("%c의 아스키코드 : %d\n", buffer, buffer); return 0; } 2018. 10. 22.
[c언어콘서트]10장 10번 (회문 검사) [10장 10번] 사용자로부터 받은 문자열이 회문인지를 점검하는 프로그램을 작성하라. [풀이]#include #include int main() { char buffer[200]; int len; int result = 1; printf("텍스트를 입력하시오 : "); scanf("%[^\n]s", buffer); len = strlen(buffer); for (int i = 0; i < len / 2; i++) if (buffer[i] != buffer[len - i - 1]) result = 0; if (result == 0) { printf("이 문자열은 회문이 아닙니다.\n"); } else { printf("이 문자열은 회문입니다.\n"); } return 0; } 2018. 10. 22.
[c언어 콘서트] 10장 9번 (문자열의 단어 세기) [10장 9번] 문자열 안의 단어들의 개수를 세는 프로그램을 작성해보자 [풀이]#include #include #include int main() { char buffer[200]; int cnt = 0; printf("텍스트를 입력하시오 : "); scanf("%[^\n]s", buffer); if (isalpha(buffer[0])) cnt++; for (int i = 0; i < strlen(buffer) - 2; i++) { if (isalpha(buffer[i]) == 0 && isalpha(buffer[i + 1]) != 0) cnt++; } printf("단어 개수 출력 : %d\n", cnt); return 0; } 2018. 10. 22.
[c언어 콘서트] 10장 8번 (대문자를 소문자로) [10장 8번] 사용자가 입력한 문자열에서 대문자를 소문자로 변경하는 프로그램을 작성해보자. [풀이]#include #include #include int main() { char buffer[200]; printf("텍스트를 입력하시오 : "); scanf("%[^\n]s", buffer); for (int i = 0; buffer[i]; i++) buffer[i] = tolower(buffer[i]); printf("소문자 출력 : %s\n", buffer); return 0; } 2018. 10. 22.
[c언어 콘서트] 10장 7번 (문자열을 거꾸로) [10장 7번] 사용자가 입력한 문자열을 거꾸로 하는 프로그램을 작성해보자. [풀이]#include #include int main() { char str[100]; char re_str[100]; int i, len; printf("문자열을 입력하시오 : "); scanf("%[^\n]s",str); len = strlen(str) - 1; for (i = 0; str[i]; i++) { re_str[i] = str[len]; len--; } re_str[i] = '\0'; printf("반대로 된 문자열 : %s \n", re_str); return 0; } 2018. 10. 11.
[c언어 콘서트] 10장 6번 (소문자를 대문자로 변환) [10장 6번] 사용자로부터 텍스트를 입력받아서 텍스트를 모두 대문자로 출력하는 프로그램을 작성해보자. 어떤 라이브러리 함수를 사용하여도 좋다. [hint] _ 소문자를 대문자로 변경해주는 toupper() 함수를 사용한다. [풀이]#include #include int main() { char str[100]; int i; printf("텍스트를 입력하시오 : "); scanf("%[^\n]s", str); for (i = 0; str[i]; i++) { str[i] = (char)toupper(str[i]); } printf("대문자 출력 : %s\n", str); return 0; } 2018. 10. 11.
[c언어 콘서트] 10장 5번 (모음 제거) [10장 5번] 텍스트 안의 모음을 전부 삭제하는 프로그램을 작성해본다. [풀이]#include #include int main() { char str[100]; int i, j; printf("텍스트를 입력한다 : "); scanf("%[^\n]s", str); for (i = 0; str[i]; i++) { if (str[i] == 'a' || str[i] == 'e' || str[i] == 'i' || str[i] == 'o' || str[i] == 'u') { for (j = i; str[j]; j++) { str[j] = str[j + 1]; } } else if (str[i] == 'A' || str[i] == 'E' || str[i] == 'I' || str[i] == 'O' || str[i.. 2018. 10. 11.
[c언어 콘서트] 10장 4번 (공백 제거) [10장 4번] 텍스트 안에 포함된 과도한 공백을 없애는 프로그램을 작성해보자. [풀이]#include int main() { char str[100]; int i; printf("텍스트를 입력하시오 : "); scanf("%[^\n]s", str); for (i = 0; str[i]; i++) { if (str[i] == ' ' && str[i + 1] == ' ') { continue; } printf("%c", str[i]); } printf("\n"); return 0; } 2018. 10. 11.
[c언어 콘서트] 10장 3번 (문자반복 횟수 계산) [10장 3번] 문자열 안에 포함된 문자들의 출현 횟수를 계산하는 프로그램을 작성한다. 예를 들어, 문자열 "abc"라면 'a', 'b', 'c'문자가 한 번만 출현한다. [풀이]#include #include int main() { int i; char str[100]; char ascii[127] = { 0, }; printf("입력 문자열 : "); scanf("%s", str); for (i = 0; str[i]; i++) { ascii[str[i]]++; } for (i = 0; str[i]; i++) { if (ascii[str[i]] == 0) { continue; } else { printf("%c문자가 %d번 등장하였음!\n", str[i], ascii[str[i]]); ascii[str.. 2018. 10. 11.