문제) 숫자의 비밀
당신은 숫자 마법사가 되어, 사용자가 생각하는 숫자를 알아맞히는 프로그램을 만들고자 합니다.
사용자는 1부터 100까지의 숫자 중 하나를 마음속으로 생각하고, 당신의 프로그램은 그 숫자를 입력받아 화면에 출력해야 합니다. 이 마법 같은 순간을 위한 프로그램을 작성해 보세요.
요구 사항:
- 프로그램은 사용자에게 1부터 100까지의 숫자를 하나 생각하라고 안내합니다.
- 사용자가 숫자를 입력하면, 프로그램은 "당신이 생각한 숫자는 [입력받은 숫자]입니다!"라고 출력합니다.
- 입력과 출력은 명확하고 사용자 친화적이어야 합니다.
위의 문제를 각 프로그래밍 언어를 이용하여 문제 풀이를 진행해 봅니다.
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)
#정보올림피아드
#검단신도시코딩
#원당동코딩
#마전동코딩
#왕길동코딩
#당하동코딩
#아라동코딩
#풍무동코딩
#불로동코딩
#검단동코딩
#검암동코딩
'프로그래밍언어문법(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 |