1. 두 개의 정수를 입력받아 작은 값을 출력하는 코드를 작성하시오.
답:
//두 개의 정수를 입력받은 후에 직은 값을 출력하는 프로그램 #include <stdio.h> int main(void) { int a, b; printf("두 개의 정수 입력:"); scanf_s("%d%d", &a, &b); if (a > b) { printf("두 수 중에 작은 수는 %d\n", b); } else { printf("두 수 중에 작은 수는 %d\n", a); } return 0; }
2. 10개의 정수를 입력받아 최솟값과 최댓값을 출력하는 코드를 작성하시오.
답:
//10개의 정수를 입력받아 최솟값과 최댓값을 출력하는 코드 #include <stdio.h> int main(void) { int num; int n; int min, max; printf("10개의 정수 입력하세요.\n"); printf("1번째:"); scanf_s("%d", &num); min = max = num;//처음 입력받은 값을 최솟값, 최댓값으로 설정 for (n = 2; n <= 10; n++) { printf("%d번째:", n); scanf_s("%d", &num); if (min > num) { min = num; } if (max < num) { max = num; } } printf("최솟값:%d 최댓값:%d\n", min, max); return 0; }
3. 정수를 입력받아 약수를 출력하는 코드를 작성하시오.
답:
//정수를 입력받아 약수 출력 #include <stdio.h> int main(void) { int n; int i; printf("정수 입력:"); scanf_s("%d", &n); printf("%d의 약수", n); for (i = 1; i <= n; i++) { if (n%i == 0)//나누어서 나머지가 0일 때 { printf("%d ", i); } } printf("\n"); return 0; }
4. 1부터 1000 사이에 소수(Prime Number, 1과 자기 자신만 약수인 수)를 출력하는 코드를 작성하시오.
답:
//1~1000 사이에 소수(Prime Number)를 출력 #include <stdio.h> int main(void) { int n; int i; int check; for (n = 1; n <= 1000; n++) { for (i = 2; i < n; i++)//n이 소수면 i가 n이 되면 반복문이 끝남 { if (n%i == 0)//i는 n의 약수 { break;//i가 n보다 작은 상태로 반복문 탈출 } } if (i == n)//소수임 { printf("%3d ", i); } } printf("\n"); return 0; }
5. 정수를 입력받은 후에 이진수로 출력하는 코드를 작성하시오.
답:
//정수를 입력받은 후 이진수로 출력 #include <stdio.h> int main(void) { int n; int i; printf("정수 입력:"); scanf_s("%d", &n); for (i = 31; i >= 0; i--) { if (n & (1 << i)) { putchar('1'); } else { putchar('0'); } } putchar('\n'); return 0; }
6. 정수를 입력받은 후에 다음과 같이 화면에 출력하는 코드를 작성하시오.
답:
//모래 시계 출력 #include <stdio.h> int main(void) { int n; int line,space, star; printf("정수를 입력:"); scanf_s("%d", &n); for (line = n; line >= 1; line--) { for (space = 0; space < (n-line); space++) { putchar(' '); } for (star = 0; star < (2 * line - 1); star++) { putchar('*'); } putchar('\n'); } for (line = 2; line <= n; line++) { for (space = 0; space < (n - line); space++) { putchar(' '); } for (star = 0; star < (2 * line - 1); star++) { putchar('*'); } putchar('\n'); } return 0; }