2025년, 코딩은 선택이 아닌 필수!

2025년 모든 학교에서 코딩이 시작 됩니다. 먼저 준비하는 사람만이 기술을 선도해 갑니다~

프로그래밍언어문법(C,C++,Python,JAVA)

2.1 - 숫자의 비밀

원당컴1 2024. 4. 5. 09:08

문제) 숫자의 비밀

당신은 숫자 마법사가 되어, 사용자가 생각하는 숫자를 알아맞히는 프로그램을 만들고자 합니다.

사용자는 1부터 100까지의 숫자 중 하나를 마음속으로 생각하고, 당신의 프로그램은 그 숫자를 입력받아 화면에 출력해야 합니다. 이 마법 같은 순간을 위한 프로그램을 작성해 보세요.

요구 사항:

  1. 프로그램은 사용자에게 1부터 100까지의 숫자를 하나 생각하라고 안내합니다.
  2. 사용자가 숫자를 입력하면, 프로그램은 "당신이 생각한 숫자는 [입력받은 숫자]입니다!"라고 출력합니다.
  3. 입력과 출력은 명확하고 사용자 친화적이어야 합니다.

 

위의 문제를 각 프로그래밍 언어를 이용하여 문제 풀이를 진행해 봅니다.

1.C언어

#include <stdio.h>

int main() {
    int user_number; //변수 선언하기
    // 사용자로부터 숫자 입력 받기
    printf("1부터 100까지의 숫자 중 하나를 마음속으로 생각해보세요.\n");
    printf("생각한 숫자를 입력해주세요: ");
    scanf("%d",&user_number); //숫자 입력 받을 때는 서식 문자 %d를 사용한다.

    //입력받은 숫자 출력
    printf("당신이 생각한 숫자는 %d입니다!",user_number);

    return 0;
}

C언어에서는 입출력을 사용하기 위해서 첫째 줄의 #include <stdio.h>를 선언해 줍니다.

다음으로 변수를 선언할 때 이 변수의 자료형이 무엇인지를 정해 줍니다.

정수(int),실수(double),문자(char) 등의 자료형이 있습니다.

printf 문 안에서 '\n' 은 다음줄로 이동하라는 명령입니다.

scanf는 입력 받는 함수로 자료형이 정수형이기 때문에 %d 서식문자를 이용하고 변수명 앞에 & 를 붙여 주소값을 전달합니다.

마지막으로 user_number 값을 출력할 때 숫자형이기 때문에 %d 서식문자를 이용하여 데이터를 전달받아 출력합니다.

 

2.C++언어

#include <bits/stdc++.h>
using namespace std;

int main() {
    int user_number; //변수 선언하기
    // 사용자로부터 숫자 입력 받기
    cout << "1부터 100까지의 숫자 중 하나를 마음속으로 생각해보세요.\n";
    cout << "생각한 숫자를 입력해주세요: ";
    cin >> user_number; //입력 받을 때는 >> 연산자를 사용한다.

    //입력받은 숫자 출력
    cout << "당신이 생각한 숫자는 "<< user_number << "입니다!";

    return 0;
}

#include <bits/stdc++.h> 는 C++에서 사용하는 모든 Header 파일을 포함하고 있습니다.

출력 부분을 배울 때 std::cout 과 같이 사용을 했었는데 여기서는 using namespace std; 를 선언 해 주고 cout 과 같이 사용했습니다.

이것은 std의 namespace 를 사용하겠다는 의미라서 std::cout -> cout 과 같이 사용을 할 수 있습니다.

마찬가지로 '\n' 은 다음 줄로 이동하라는 명령입니다.

입력을 받을때는 변수값 방향으로 >> 을 사용합니다. 여기서는 &(주소값)을 지정하지 않습니다.

C++ 언어는 객체형으로 입력 받을때 내부에서 처리 하도록 구현이 되어 있습니다.

변수 값을 출력할 때 cout << "당신이 생각한 숫자는 " << 변수값 << "입니다!"; 와 같이 출력 하고 싶은 위치에 연결 하여 출력합니다.

 

3. Java언어

import java.util.Scanner;

public class SecretNumber {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // 사용자에게 숫자 입력을 요청합니다.
        System.out.println("1부터 100까지의 숫자 중 하나를 마음속으로 생각해보세요.");
        System.out.print("생각한 숫자를 입력해주세요: ");
        
        // 사용자로부터 숫자를 입력받습니다.
        int user_number = scanner.nextInt();
        
        // 입력받은 숫자를 출력합니다.
        System.out.println("당신이 생각한 숫자는 " + user_number + "입니다!");
        
        // 스캐너를 닫습니다.
        scanner.close();
    }
}

Java는 객체 언어로 print를 사용할 때 System객체의 out객체에 있는 print를 사용합니다. 따라서 System.out.print 와 같이 사용합니다.

다음줄로 이동하는 명령은 C/C++과 마찬가지로 '\n'으로 출력이 가능하지만 여기서는 println() 을 사용했습니다. 

C언어와 같이 서식문자를 사용하는 방법도 있습니다.

        // 입력받은 숫자를 출력합니다.
        System.out.println("당신이 생각한 숫자는 " + user_number + "입니다!");
        //==> 다음과 같이 서식문자를 이용하여 출력 가능합니다.
        System.out.printf("당신이 생각한 숫자는 %d입니다!",user_number);

 

4. Python 언어

# 사용자로부터 숫자 입력 받기
print("1부터 100까지의 숫자 중 하나를 마음속으로 생각해보세요.")
user_number = int(input("생각한 숫자를 입력해주세요: "))

# 입력받은 숫자 출력
print(f"당신이 생각한 숫자는 {user_number}입니다!")

input("질문하는 문장") 과 같이 사용하여 질문하는 문장 뒤의 값을 문자열로 입력을 받아 옵니다.

print(f" ") 와 같이 사용하면 문자열 안의 {user_number} 는 변수값을 의미합니다.

이것을 다음과 같이 C/C++ 과 같이 서식 문자를 이용하여 출력이 가능합니다.

print("당신이 생각한 숫자는 %d입니다!" %(user_number))

 

요약

C언어 : 숫자 입출력은 서식 문자(%d)를 이용하여 scanf로 입력, printf로 출력한다.

C++ : cin,cout 을 이용하여 입력/출력을 하며 자료형에 관계 없이 사용한다.

Java : 숫자 입력은 Scanner의 nextInt() 로 입력을 받고 출력은 System.out 의 print,println(줄바꿈),printf(서식문자 사용) 등을 이용하여 출력 할 수 있다.

Python : 숫자 입력은 input()으로 문자열을 입력 받은 후 int() 로 정수형으로 변환하여 사용한다.  출력은 print()문을 사용하며 f'' 를 사용하여 내부에 변수값을 지정할 수 있고 C와 같이 서식문자를 사용할 수도 있다.

 

 

인천 검단 원당컴퓨터 학원(T 032-565-5497)

#정보올림피아드

#검단신도시코딩

#원당동코딩

#마전동코딩

#왕길동코딩

#당하동코딩

#아라동코딩

#풍무동코딩

#불로동코딩

#검단동코딩

#검암동코딩

사업자 정보 표시
원당컴퓨터학원 | 기희경 | 인천 서구 당하동 1028-2 장원프라자 502호 | 사업자 등록번호 : 301-96-83080 | TEL : 032-565-5497 | Mail : icon001@naver.com | 통신판매신고번호 : 호 | 사이버몰의 이용약관 바로가기

'프로그래밍언어문법(C,C++,Python,JAVA)' 카테고리의 다른 글

2-3. 실수의 발견  (5) 2024.04.24
2-2. 문자의 마법사  (7) 2024.04.12
2. 입력과 출력  (8) 2024.03.22
프로그래밍언어 문법 목차  (0) 2024.03.18
1.5 아스키코드(ASCII CODE)  (3) 2021.04.13