1. 다음과 같은 수식의 값을 계산하여 화면에 출력하는 프로그램을 작성하라.
#include<iostream>
#include<cstdio>
using namespace std;
void main ()
{
long double result;
result = (3.32 * 0.001 * 9.76 * 0.00000001) / (9.12 * 1000000 * 9.76 + 1000000000);
cout<<result; // 지수가 많아서 부동소수점으로 표현
2-1. Cm로 표현된 키를 입력받아, 피트와 인치로 변환하는 프로그램을 작성해보자. 1피트는 12인치이고, 1인치는 2.54cm이다.
-> 키를 입력하시오. : 163
163cm는 5피트 4.17323 인치입니다.
2-2. 반대의 경우도 작성하여 보자. 즉 피트와 인치로 표현된 키를 cm단위로 변환하여 보아라.
-> 키를 입력하시오.(피트) : 5
키를 입력하시오.(인치) : 4
5피트 4인치는 162.560cm입니다.
#include<iostream>
#include<cstdio>
#define CTOI 2.54 // Cm to inch
#define ITOF 12 // inch to feet
using namespace std;
void main ()
{
double height , intfeet;
double inch, feet;
cout<<"당신의키를입력하시오. : ";
cin>>height; cout<<endl;
feet = height / CTOI / ITOF; // 피트를 구함
intfeet = (int)feet; // 나머지를 구하기 위해 인트형변환
inch = (feet - intfeet) * ITOF; // 피트의 정수부분 외 나머지 구함
cout<<height<<"cm는"<<intfeet<<"피트"<<inch<<"인치입니다."<<endl<<endl;
cout<<"키를입력하시오(피트) : ";
cin>>feet;
cout<<"키를입력하시오(인치) : ";
cin>>inch;cout<<endl;
height = (inch + (feet * ITOF)) * CTOI;
printf("%.0f피트%.0f인치는%.3fcm입니다\n",feet, inch, height);
3. 10000보다 작은 정수를 입력받아서 이것을 천의자리, 백의자리, 십의자리, 일의자리로 분리하여 출력하는 프로그램을 작성하라. 즉 사용자가 정수 5623을 입력하면 5,6,3,2을 차례로 출력하면 된다. 이것은 나눗셈과 나머지 연산을 이용하면 된다.
-> 점수를 입력하시오 : 5623
천의 자리 : 5 백의 자리 : 6 십의 자리 : 2 일의 자리 : 3
#include <iostream>
#include<cstdio>
using namespace std;
void main()
{
int num, i=0;
int arr[4]={0}; // 숫자를 담을 배열
char location[4][30] = {"일의자리","십의자리","백의자리","천의자리"};
// 자릿수를 배열로 정함
while(1)
{
cout <<"10000미만의정수를입력하시오: ";
cin >> num;
if( num < 10000 && num >= 0) break; // 제대로 받으면 빠져나감
cout <<"10000미만의정수를입력하시오!" <<endl<<endl;
}
while(num)
{
arr[i] = num % 10; // 배열[0]부터 일의 자리를 받음
num = num / 10; // 자릿수를 줄인다
i++;
}
for(i=3; i >= 0; i--)
{
cout <<location[i]<<" : " << arr[i] << endl;
// 출력문
}
cout<<endl;
4. 2년간의 이자를 계산하는 프로그램을 작성하여 보자. 사용자로부터 예금액, 연이율을 입력받아서 이자를 계산한다. 이자는 복리로 계산된다고 가정하라. 즉 첫해의 이자는 예금액에 이율을 곱하면 되지만 둘째 해의 이자는 예금액과 첫해의 이자를 더한 액수에 이율을 곱하여야 한다.
-> 예금액을 입력하시오. : 1000
연이율을 입력하시오(단위 퍼센트) : 5.0
2년 후의 예금액은 1102.5입니다.
#include<iostream>
#include<cstdio>
#define YEAR 2 // 년수를정의 및 수정 가능하도록
using namespace std;
void main()
{
double won,sum=0,rate;
cout<<"예금액을입력하시오. : ";
cin>>won;
cout<<"연이율을입력하시오.(단위퍼센트) : ";
cin>>rate;cout<<endl;
rate = rate * 0.01; // 퍼센트로변경
for(int i=0; i<YEAR; i++) // 원하는 년수만큼 이자를 구함
{
sum = (won * rate) + won; // 이자를구함
won = sum; // 복리를 위해서 won을 다시 정의
}
cout<<YEAR<<"년후의예금액은"<<sum<<"입니다."<<endl<<endl;
좌표의 부호 |
사분면 |
x > 0 , y > 0 |
1 사분면 |
x < 0 , y > 0 |
2 사분면 |
x < 0 , y < 0 |
3 사분면 |
x > 0 , y < 0 |
4 사분면 |
#include<iostream>
#include<string> // 문자열을사용
#include<cstdio>
using namespace std;
void main()
{
string name;
int x, y;
char quart[4][10] = {"1사분면","2사분면","3사분면","4사분면"};
// 배열에사분면저장
cout<<"x, y 좌표를차례대로입력하시오. : ";
cin>>x>>y; cout<<endl;
name = (x > 0) ? ((y > 0) ? quart[0] : quart[3]) : ((y > 0) ? quart[1] : quart[2]);
// x 가양수? 참이면y를비교해서y가양수면1, 음수면4사분면
// x 가음수? 참이면y를비교해서y가양수면2, 음수면3사분면
cout<< name;
}