본문 바로가기
IT/프로그래밍

c언어 연습 (문제풀이 중심의) 3장 문제풀이 해설

by nutrient 2021. 4. 29.
728x90
728x170

c언어 연습 (문제풀이 중심의) 3장 해설 및 답지

3-1.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main(void) {
 
    char ch;
 
    printf("한 문자 입력: ");
    scanf(" %c", &ch);
    printf("출력: %c", ch);
 
    return 0;
}
3-2. 한 문자를 입력하고 출력 (getchar, putchar 함수 사용)
#include <stdio.h>
 
int main(void) {
 
    printf("한 문자 입력: ");
    char ch = getchar();
    printf("출력: ");
    putchar(ch);
 
    return 0;
}
3-3. 한 문자를 입력받고 그 문자의 ASCII값 출력 (getchar함수 사용)
#include <stdio.h>
 
int main(void) {
 
    char ch;
 
    printf("한 문자 입력: ");
    ch = getchar();
    printf("입력한 문자(%c)의 ASCII값: %d", ch, ch);
 
    return 0;
}

 

3-4. 
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main(void) {
 
    int no;
    int in;
    int out;
 
    printf("no, in, out: ");
    scanf(" %d %d %d", &no, &in, &out);
 
    printf("%5d%-6d%06d", no, in, out);
 
    return 0;
}
3-5.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main(void) {
 
    double no;
    double in;
    double out;
 
    printf("no: ");
    scanf(" %lf", &no);
    printf("in: ");
    scanf(" %lf", &in);
    printf("out: ");
    scanf(" %lf", &out);
    printf("%5.2f%-6.1f%06.0f", no, in, out);
 
    return 0;
}
3-6. 정수 두 개를 입력받아서 합 출력
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main(void) {
 
    int no;
    int count;
 
    printf("정수 입력: ");
    scanf(" %d %d", &no, &count);
 
    printf("%d과 %d의 합은 %d입니다.", no, count, no + count);
 
    return 0;
}

 

3-7. 양수 입력받아서 8진수와 16진수 형태로 출력
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main(void) {
 
    int no;
 
    printf("양의 정수: ");
    scanf(" %d", &no);
 
    printf("8진수: %o\n", no);
    printf("16진수: %x", no);
 
    return 0;
}
3-8. 실수값을 입력받아서 1/2 크기만큼 출력
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main(void) {
 
    double num;
 
    printf("실수값을 입력하세요: ");
    scanf(" %lf", &num);
    printf("결과: %.2f", num / 2);
 
    return 0;
}
3-9. 정수 5개를 입력받아서 입력받은 정수들과 평균 출력
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main(void) {
 
    int num1, num2, num3, num4, num5;
    printf("정수 5개 입력: ");
    scanf(" %d %d %d %d %d", &num1, &num2, &num3, &num4, &num5);
 
    printf("%6d\n", num1);
    printf("%6d\n", num2);
    printf("%6d\n", num3);
    printf("%6d\n", num4);
    printf("%6d\n", num5);
    printf("__________\n");
    printf("%6.1f", (num1 + num2 + num3 + num4 + num5) / 5.0);
 
    return 0;
}

 

3-10. 화씨온도를 입력받아서 섭씨온도로 출력
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main(void) {
 
    int degree;
 
    printf("화씨온도를 입력하세요: ");
    scanf(" %d", &degree);
    printf("섭씨온도는 %d도 입니다.", (degree - 32) * 5 / 9);
 
    return 0;
}
3-11. 실수를 입력받아서 소수점 이하 3자리, 2자리, 1자리로 출력
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main(void) {
 
    double num;
 
    printf("실수를 입력하세요 (소수점 4자리까지): ");
    scanf(" %lf", &num);
    printf("소수점 3자리: %.3f\n", num);
    printf("소수점 2자리: %.2f\n", num);
    printf("소수점 1자리: %.1f", num);
 
    return 0;
}
3-12. 이름과 나이를 입력받아서 출력
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main(void) {
 
    char name[10];
    int age;
 
    printf("이름: ");
    scanf(" %s", name);
    printf("나이: ");
    scanf(" %d", &age);
    printf("%s의 나이는 %d살입니다.", name, age);
 
    return 0;
}

 

3-13. 주소를 입력받아 출력 (gets함수 사용)
#include <stdio.h>
 
int main(void) {
 
    char address[60];
 
    printf("주소: ");
    gets(address);
    printf("%s", address);
 
    return 0;
}
728x90
그리드형

댓글