실습 1-1
#include <iostream>
using namespace std;
int main(){
int a,b,c;
int max;
cout << "세 정수의 최댓값을 구합니다. "<<endl;
cout << "a의 값 : " ;
cin >> a;
cout << "b의 값 : " ;
cin >> b;
cout << "c의 값 : " ;
cin >> c;
max=a;
if(b>max) max=b;
if(c>max) max=c;
cout << "최댓값은 " << max <<"입니다. " <<endl;
return 0;
}
실습 1-2
#include <iostream>
using namespace std;
int max3(int a,int b, int c){
int max=a;
if(b>max) max=b;
if(c>max) max=c;
return max;
}
int main(){
cout << "max(3,2,1) = "<<max3(3,2,1) <<endl;
cout << "max(3,2,2) = "<<max3(3,2,2) <<endl;
cout << "max(3,1,2) = "<<max3(3,1,2) <<endl;
return 0;
}
연습문제1
#include <iostream>
using namespace std;
int max4(int a,int b, int c,int d){
int max=a;
if(b>max) max=b;
if(c>max) max=c;
if(d>max) max=d;
return max;
}
int main(){
int a,b,c,d;
cout << "4개의 수를 입력하시오." <<endl;
cin >> a >>b>>c>>d;
cout << "네 값의 최댓값: " << max4(a,b,c,d);
return 0;
}
연습문제2 (연습문제3과 비슷)
#include <iostream>
using namespace std;
int min3(int a,int b, int c){
int min=a;
if(b<min) min=b;
if(c<min) min=c;
return min;
}
int main(){
int a,b,c;
cout << "3개의 수를 입력하시오." <<endl;
cin >> a >>b>>c;
cout << "세 값의 최솟값: " << min3(a,b,c);
return 0;
}
실습 1C-1
#include <iostream>
using namespace std;
int med3(int a,int b, int c){
if(a>=b)
if(b>=c) return b;
else if(a<=c) return c;
else return c;
else if(a>c) return a;
else return b;
}
int main(){
int a,b,c;
cout << "3개의 수를 입력하시오." <<endl;
cin >> a >>b>>c;
cout << "세 값의 중간값: " << med3(a,b,c);
return 0;
}
연습문제 5
중앙값을 구하는 함수를 아래와 같이 작성할 경우 효율이 떨어지는 이유?
> 첫번째 if문을 만족하지 않을 경우는 모두 두번째 if문도 만족하지 않기 때문이다.
#include <iostream>
using namespace std;
int med3(int a,int b, int c){
if((b>=a&&c<=a)||(b<=a&&c>=a))
return a;
else if ((a>b&&c<b)||(a<b&&c>b))
return b;
return c;
}
int main(){
int a,b,c;
cout << "3개의 수를 입력하시오." <<endl;
cin >> a >>b>>c;
cout << "세 값의 중간값: " << med3(a,b,c);
return 0;
}
실습 1-3
> 순서도 생각해보기
#include <iostream>
using namespace std;
int main(){
int n;
cout << "정수를 입력하시오: ";
cin >>n ;
if(n>0) cout << "양수입니다. "<<endl;
else if(n<0) cout << "음수입니다. "<<endl;
else cout << "0입니다. "<<endl;
return 0;
}
실습 1-4
#include <iostream>
using namespace std;
int main(){
int i,n;
int sum =0;
cout << "1부터 n까지의 합을 구합니다. " << endl;
cout << "n의 값: " ;
cin >>n;
while(i<=n){
sum+=i;
i++;
}
cout << "총 합: " << sum;
return 0;
}
실습 1-5
> 실습 1-4와 유사하나 for문 사용
#include <iostream>
using namespace std;
int main(){
int i,n;
int sum =0;
cout << "1부터 n까지의 합을 구합니다. " << endl;
cout << "n의 값: " ;
cin >>n;
for(i=1;i<=n;i++){
sum+=i;
}
cout << "총 합: " << sum;
return 0;
}
연습문제 7
#include <iostream>
using namespace std;
int main(){
int i,n;
int sum =0;
cout << "1부터 n까지의 합을 구합니다. " << endl;
cout << "n의 값: " ;
cin >>n;
for(i=1;i<=n;i++){
sum+=i;
if(i<n)
cout << i << " + " ;
else cout << i;
}
cout << " = : " << sum;
return 0;
}
연습문제 8
#include <iostream>
using namespace std;
int main(){
int i,n;
int sum =0;
cout << "1부터 n까지의 합을 구합니다. " << endl;
cout << "n의 값: " ;
cin >>n;
if(n%2==0){
sum=n/2*(n+1);
}
if(n%2==1){
sum=n/2*(n+1)+(n/2+1);
}
cout << "총 합은: " << sum;
return 0;
}
연습문제 9
실습 1-6
#include <iostream>
using namespace std;
int main(){
int i,n;
int sum =0;
cout << "1부터 n까지릐 합을 구합니다. ";
do {
cout << "n의 값: ";
cin >> n;
} while(n<=0);
for(i=1;i<=n;i++){
sum+=i;
}
cout << "1부터 " <<n<<"까지의 합은 " <<sum<<"입니다.";
return 0;
}
연습문제 10
#include <iostream>
using namespace std;
int main(){
int a,b;
cout << "a의 값: "; cin >> a;
cout << "b의 값: "; cin >>b;
do {cout << "a보다 큰 값을 입력하세요!" <<endl;
cout << "b의 값: "; cin >> b;
} while(b<a);
cout << "b - a는 " << b-a << "입니다.";
return 0;
}
> do while문 사용하기
연습문제 11
실습 1C-2
#include <iostream>
using namespace std;
int main(){
int n;
cout << "2자리 정수를 입력하세요. " <<endl;
do{
cout << "수는 : ";
cin >> n;
} while(n<10||n>99);
cout << "변수 n의 값은 " <<n<<"이 되었습니다. ";
return 0;
}
실습 1-7
#include <iostream>
using namespace std;
int main(){
int i,j;
cout << "----- 곱셈표 -----" <<endl;
for(i=1;i<=9;i++){
for(j=1;j<=9;j++)
{cout << " ";
cout.width(2);
cout << i*j;}
cout << endl;
}
return 0;
}
cout.width(지정하고자 하는 폭);
cout.fill(fill 문자);
연습문제 12
#include <iostream>
using namespace std;
int main(){
int i,j;
cout << " |";
for(i=1;i<=9;i++) {
cout.width(3);
cout << i;
} cout <<endl<< "---+----------------------------" << endl;
cout << endl << " 1 |";
for(i=1;i<=9;i++){
for(j=1;j<=9;j++)
{
cout << " ";
cout.width(2);
cout << i*j;
}
if(i<=8)
cout << endl <<" " << i+1 << " |";
}
return 0;
}
연습문제 13
연습문제 14
연습문제 15
실습 1-8
#include <iostream>
using namespace std;
int main(){
int i,j,n;
do{
cout << "몇 단 삼각형입니까? : ";
cin >> n;
} while (n<=0);
for(i=1;i<=n;i++){
for(j=1;j<=i;j++)
cout << "*";
cout << endl;
}
return 0;
}
연습문제 16
연습문제 17
연습문제 18
#include <iostream>
using namespace std;
void nrpira(int n){
int i,j,k;
for(i=1;i<=n;i++){
for(k=1;k<=i-1;k++)
{cout << " ";}
for(j=1;j<2*(n-i+1);j++){
cout << i ;
} cout << endl;
}
}
int main(){
int n;
cout << "n의 값을 입력하시오. : ";
cin >> n;
nrpira(n);
return 0;
}
'자료구조' 카테고리의 다른 글
[Do it 자료구조] 4단원 스택과 큐 c++로 풀기 (0) | 2021.03.07 |
---|---|
Do it 자료구조 3단원 c++로 풀기 (0) | 2021.03.07 |
[Do it 자료구조] 2. 기본 자료구조 C++로 풀기 (0) | 2021.02.26 |
[스터디 준비] 2. 기본 자료구조 (0) | 2021.02.18 |
[스터디 준비] 01. 기본 알고리즘 정리 (0) | 2021.02.18 |