728x90

프로그래밍 209

C언어 이론5. 디버깅과 추적 (자주 뜨는 문법적 에러 메시지)

내용 참고 : YES C (정보공학연구소/생능출판사) 현재 마이크로소프트의 정책으로 학습용으로 한글로 번역되어 있는 비쥬얼 스튜디오를 무료로 받을 수 있다. 그래서 비쥬얼 스튜디오의 에러메시지도 대부분 한글로 출력되므로 책의 영어 메시지는 생략했다.또한 주인장은 C++이 C를 포함하는 관계로 C++환경에서 C코딩을 하고 있으므로 C에서만 나는 에러도 생략했다. ... 사실 책의 내용은 거의 상관없는 것 같기도 하고(..) 아래의 에러코드는 visual studio community 2017을 기준으로 했다.아래의 내용은 에러의 모든 내용을 포함하는 것이 아니므로 에러에 대한 자세한 내용은 에러번호를 클릭해서 나오는 홈페이지 도움말을 참조하자. warning C3861 : 정의되지 않은 함수를 사용했을 때..

C언어 연습문제 풀이 CH4 (20번 문제)

20. 15개의 수를 입력받아 출현 빈도수가 가장 적은 값을 구하여 출력하는 프로그램을 작성하라. #include int main() { const int N = 5; int input[N], num[N] = { '\0', }, min[N] = { '\0', }; int min_frequency = N, now_frequency = 0; // ※ 배열에 수를 입력받는 부분 printf("%d개의 수를 입력받습니다. \n", N); for (int i = 0; i < N; i++) { printf("%d번째 수를 입력하세요. ", i + 1); scanf_s("%d", &input[i]); } //------- //※ 입력받은 값의 빈도를 확인하기. for (int i = 0; i < N; i++) { n..

C언어 연습문제 풀이 CH4 (12 ~ 19)

문제 출처 : YES C (정보공학연구소/생능출판사) 12. scanf_s()를 통해 숫자 2개를 입력받아 사칙연산의 결과를 출력하는 프로그램을 작성하라. #include int main() { int num1, num2; printf("첫번째 정수를 입력하세요.: "); scanf_s("%d", &num1); printf("두번째 정수를 입력하세요.: "); scanf_s("%d", &num2); printf("%d + %d = %d \n", num1, num2, num1 + num2); printf("%d - %d = %d \n", num1, num2, num1 - num2); printf("%d * %d = %d \n", num1, num2, num1 * num2); if (num2 != 0) { ..

c언어 연습문제 풀이 CH4 (4 ~ 11)

문제 출처 : YES C (정보공학연구소/생능출판사) 4. 두 정수를 입력받아 곱셈을 하는 프로그램을 작성하라. 이때 정수 이외의 데이터가 들어오면 에러처리를 하라. #include void main() { int num1 = 0, num2 = 0; do { printf("첫번째 정수를 입력하세요 : "); scanf_s("%d", &num1); while (getchar() != '\n') {} printf("두번째 정수를 입력하세요 : "); scanf_s("%d", &num2); while (getchar() != '\n') {} if (!(num1 && num2)) { printf("잘못입력하셨습니다. 다시 입력해주세요. \n"); } } while (!(num1 && num2)); /* scna..

C언어 연습문제 풀이 CH4 (1~3)

문제 출처 : YES C (정보공학연구소/생능출판사) 1. 정수 n을 scanf_s()를 통해 읽어 들여 n이 음수가 아니면 0부터 n까지의 정수를 합산하고, n이 음수이면 n부터 0까지를 합산하는 프로그램. #include int main() { int n, sum = 0; printf("하나의 정수를 입력하세요.: "); scanf_s("%d", &n); if (n >= 0) { for (int i = 0; i = a || divide >= b) { break; } divide++; } printf("%d와 %d의 최대공약수는 %d입니다. \n", a, b, gcd); }

C언어 실습문제 풀이 CH4 (9 ~ 12)

문제 출처 : YES C (정보공학연구소/생능출판사) 9. 다음식을 만족하는 A,B,C,D를 구하라 A C B- B B C------------- B D C #include int main() { int a, b, c, d, result; for (a = 1; a < 10; a++) { for (b = 1; b < 10; b++) { for (c = 0; c < 10; c++) { for (d = 0; d < 10; d++) { result = (100 * a + 10 * c + b) - (100 * b + 10 * b + c); if (result == (100 * b + 10 * d + c)) { printf("a = %d, b = %d, c = %d, d = %d \n", a, b, c, d); }..

C언어 제어문 주요예제 5

A B C + C A C ------------ B D D를 구하는 프로그램 #include int main() { int a, b, c, d, sum; for (a = 1; a < 10; a++) { for (b = 1; b < 10; b++) { for (c = 1; c < 10; c++) { for (d = 1; d < 10; d++) { sum = (100 * a + 10 * b + c) + (100 * c + 10 * a + c); if (sum == 100 * b + 10 * d + d) { printf("A=%d, B=%d, C=%d, D=%d \n", a, b, c, d); } } } } } } 1^2+2^2+ ... +i^이 5000을 초과하는 가장 작은 i와 그때의 합을 구하는 프로그램..

C언어 제어문 주요예제 3

두 수를 입력받아서 두 사이의 합을 구하는 프로그램을 작성하라. #include int main() { //※ 변수 선언 및 초기화 int a, b, temp, sum = 0, line = 0; // ※ 범위 입력받기 printf("입력하신 두 수 사이의 합을 계산합니다. \n"); printf("첫번째 정수를 입력하세요: "); scanf_s("%d", &a); printf("두번째 정수를 입력하세요: "); scanf_s("%d", &b); // ※ 작은 수를 a로 큰 수를 b로 정렬 if (a > b) { temp = a; a = b; b = temp; } // ※ a부터 b까지 합산 및 계산 과정 출력 for (int i = a; i

C언어 아래 실습문제 5,6번 순서도

임의 개의 수를 읽어 들여 최대값과 최소값 및 최대값과 최소값의 차를 구하는 프로그램을 while문을 포함하여 작성하라. #include int main() { // ※변수 선언 int num = 1, input, max, min; char conti = 'y'; do {// ※입력받기 printf("%d번째 수를 입력하세요:", num); scanf_s("%d", &input); // ※첫번째로 입력받은 수 일 때 if (num == 1) { max = input; min = input; } else if (num >= 2) { // ※첫번째로 입력받은 수가 아닐 때 input > max ? max = input : 0; input < min ? min = input : 0; do { while (ge..

반응형