http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=255&sca=10g0

 

JUNGOL | 구조체 - 자가진단6 > 문제은행

5명의 이름과 키, 몸무게를 입력받아 이름순으로 정렬하여 출력하고,  몸무게가 무거운 순으로 정렬하여 출력하는 프로그램을 작성하시오.  몸무게는 소수점이하 1자리까지 출력한다.

www.jungol.co.kr

 

 

#include<bits/stdc++.h>
using namespace std;
/*
618 : 구조체 - 자가진단6
5명의 이름과 키, 몸무게를 입력받아 이름순으로 정렬하여 출력하고,
몸무게가 무거운 순으로 정렬하여 출력하는 프로그램을 작성하시오.
몸무게는 소수점이하 1자리까지 출력한다.

입력 예
Lee 150 35.6
Kim 155 28.9
Sin 148 32.7
Jung 160 41.2
Park 165 38.7
출력 예
name
Jung 160 41.2
Kim 155 28.9
Lee 150 35.6
Park 165 38.7
Sin 148 32.7

weight
Jung 160 41.2
Park 165 38.7
Lee 150 35.6
Sin 148 32.7
Kim 155 28.9
*/


struct students
{
    char irum[10];
    int kee;
    float mugae;
};

bool compare(struct students a ,struct students b){
    return a.mugae<b.mugae;
}

bool compare2(struct students a ,struct students b){
    //????
    return strcmp(a.irum, b.irum) < 0;
}

int main()
{

    int i;
    struct students s[5];
    for(i=0; i<5; i++){
        scanf("%s %d %f",s[i].irum,&s[i].kee,&s[i].mugae);
    }
    sort(s,s+5,compare2);
    for(i=0; i<5; i++){
        printf("=name= %s %d %g\n",s[i].irum,s[i].kee,s[i].mugae);
    }

    sort(s,s+5,compare);
    for(i=0; i<5; i++){
        printf("=mugae= %s %d %g\n",s[i].irum,s[i].kee,s[i].mugae);
    }


	return 0;
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=252&sca=10g0

 

JUNGOL | 구조체 - 자가진단3 > 문제은행

두 명의 이름과 국어, 영어 점수를 입력받아 과목별 점수의 평균을 구하여 출력하는 프로그램을 작성해 보시오. (이름은 20자 이하이고 평균의 소수점 이하는 버림한다.)

www.jungol.co.kr

 

 

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
/*
615 : 구조체 - 자가진단3
두 명의 이름과 국어, 영어 점수를 입력받아 과목별 점수의 평균을 구하여 출력하는 프로그램을 작성해 보시오.
(이름은 20자 이하이고 평균의 소수점 이하는 버림한다.)
입력 예
Junho 88 100
Seonbin 95 96
출력 예
Junho 88 100
Seonbin 95 96
avg 91 98
*/
typedef struct s{
    int num;
    char name[10],sub[10];
    int score[100];
}Student;

int main()
{
    int m[12],n,i,p=0,q=0;
    //struct s stu[100];
    Student stu[100];
    for(i=1;i<=2;i++)
    {
        scanf("%s %d %d",stu[i].name,&stu[i].score[0],&stu[i].score[1]);
    }
    for(i=1;i<=2;i++)
    {
        printf("%s %d %d\n",stu[i].name,stu[i].score[0],stu[i].score[1]);
    }
    for(i=1;i<=2;i++)
    {
        p+=stu[i].score[0];
        q+=stu[i].score[1];
    }
    printf("avg %d %d",p/2,q/2);
    return 0;
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=254&sca=10g0

 

JUNGOL | 구조체 - 자가진단5 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

 

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
/*
617 : 구조체 - 자가진단5
5명의 이름과 키를 입력받아 키가 가장 작은 사람의 이름과 키를 출력하는 프로그램을 작성하시오. 이름은 20자 이하이다.
입력 예
Park 175
Lee 180
Choo 185
Son 193
Kim 188
출력 예
Park 175
*/
typedef struct s{
    int num;
    char name[10],sub[10];
    int score[100];
}Student;

int main()
{
    int m[12],n=5,i,p=0,q=99990;
    //struct s stu[100];
    Student stu[100];
    //scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%s %d",stu[i].name,&stu[i].num);
    }
    for(i=0;i<n;i++)
    {
        if(q>stu[i].num){
            q=stu[i].num;
            p=i;
        }

    }
    printf("%s %d",stu[p].name,stu[p].num);
    return 0;
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=76&sca=10c0

 

JUNGOL | 함수2 - 형성평가2 > 문제은행

두 개의 실수를 입력받아 각각의 제곱근을 구하고 두 제곱근 사이에 존재하는 정수의 개수를 출력하는 프로그램을 작성하시오. 단, 입력받는 두 실수는 양수이며 두 제곱근 사이라는 말은 두 제곱근을 포함한다. 두 수의 제곱근을 구하여 정수로 형변환을 한 후 생각해보자. 두 수 사이의 수들은 모두 포함이 되면 작은 수의 경우 변환하기 전 원래의 제곱근과 같다면 개수에 포함을 시켜야 한다. 큰 수는 원래의 수보다 작거나 같으므로 무조건 포함이 된다.

www.jungol.co.kr

 

#include <bits/stdc++.h>
using namespace std;
/*
함수2 - 형성평가2
두 개의 실수를 입력받아 각각의 제곱근을 구하고 두 제곱근 사이에 존재하는 정수의 개수를 출력하는 프로그램을 작성하시오.
단, 입력받는 두 실수는 양수이며 두 제곱근 사이라는 말은 두 제곱근을 포함한다.
입력 예
12.0 34.789
출력 예
2
*/


int main()
{
    float a,b,c,d;
    int o,n,z=0;
    scanf("%f %f",&a,&b);

    c=sqrt(a);
    d=sqrt(b);

    if(c>d){
        o=(int)floor(c);
        n=(int)ceil(d);
        printf("o = %d n = %d \n", o, n);
        for(int i=n;i<=o;i++){
            z ++;
        }
    }

    if(c<d){
        o=(int)ceil(c);
        n=(int)floor(d);
        printf("o = %d n = %d \n", o, n);
        for(int i=o;i<=n;i++){
            z ++;
        }
    }

    printf("1 : %d\n",z);
    printf("2 : %d",abs(o-n) + 1);


    return 0;
}

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=77&sca=10c0

 

JUNGOL | 함수2 - 형성평가3 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

#include <bits/stdc++.h>
using namespace std;
/*
함수2 - 형성평가3
5개의 정수를 입력받아 각 정수의 절대값의 합을 출력하는 프로그램을 작성하시오.
입력 예
35 -20 10 0 55
출력 예
120
*/


int main()
{
    int a,n=0;
    for(int i=0;i<5;i++){
        scanf("%d",&a);
        n= n + abs(a);
    }
    printf("%d",n);
    return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

617 : 구조체 - 자가진단5  (0) 2020.03.11
176 : 함수2 - 형성평가2  (0) 2020.03.09
178 : 함수2 - 형성평가4  (0) 2020.03.09
179 : 함수2 - 형성평가5  (0) 2020.03.09
234 : 함수3 - 형성평가4  (0) 2020.03.01

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=78&sca=10c0

 

JUNGOL | 함수2 - 형성평가4 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

#include <bits/stdc++.h>
using namespace std;
/*
함수2 - 형성평가4
정수 n을 입력받아 2n의 값을 출력하는 프로그램을 작성하시오. (1 ≤ n ≤ 20)
입력 예
10
출력 예
1024
*/

int main()
{
    int n,x=1;
    scanf("%d",&n);

    /*
    for(int i=0;i<n;i++){
        x=x*2;
    }*/

    x = pow(2,n);

    printf("%d",x);
    return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

176 : 함수2 - 형성평가2  (0) 2020.03.09
177 : 함수2 - 형성평가3  (0) 2020.03.09
179 : 함수2 - 형성평가5  (0) 2020.03.09
234 : 함수3 - 형성평가4  (0) 2020.03.01
235 : 함수3 - 형성평가5  (0) 2020.03.01

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=79&sca=10c0

 

JUNGOL | 함수2 - 형성평가5 > 문제은행

세 개의 실수를 입력받아 합계와 평균을 구하여 평균을 반올림한 정수를 출력하고, 다음은 입력받은 수를 각각 먼저 반올림한 후 합계와 평균을 구하여 평균을 반올림한 한 결과를 출력하는 프로그램을 작성하시오.

www.jungol.co.kr

 

#include <bits/stdc++.h>
using namespace std;
/*
함수2 - 형성평가5
세 개의 실수를 입력받아 합계와 평균을 구하여 평균을 반올림한 정수를 출력하고,
다음은 입력받은 수를 각각 먼저 반올림한 후 합계와 평균을 구하여 평균을 반올림한 한 결과를 출력하는 프로그램을 작성하시오.
입력 예
153.74 34.59 109.5
출력 예
99
100
*/

int main()
{
    float a[3],b=0;
    int n,o,x=0;
    //합계만
    for(int i=0;i<3;i++){
        scanf("%f",&a[i]);
        b=(b+a[i]);
        x=x+round(a[i]);
    }

    //평균계산
    n=round(b/3);
    printf("x = %d, %d, %f \n",x, x/3, (float)x/3);
    o=round((float)x/3);
    //출력
    printf("%d \n %d",n,o);

    return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

177 : 함수2 - 형성평가3  (0) 2020.03.09
178 : 함수2 - 형성평가4  (0) 2020.03.09
234 : 함수3 - 형성평가4  (0) 2020.03.01
235 : 함수3 - 형성평가5  (0) 2020.03.01
598 : 문자열1 - 자가진단6  (0) 2020.03.01

 

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=134&sca=10d0

 

JUNGOL | 함수3 - 형성평가4 > 문제은행

첫 번째는 1, 두 번째는 2, 세 번째부터는 앞의 두 수의 곱을 100으로 나눈 나머지로 이루어진 수열이 있다. 100 이하의 자연수 N을 입력받아 재귀함수를 이용하여 N번째 값을 출력하는 프로그램을 작성하시오.

www.jungol.co.kr

 

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
//233 : 함수3 - 형성평가4
/*
첫 번째는 1, 두 번째는 2, 세 번째부터는 앞의 두 수의 곱을 100으로 나눈 나머지로 이루어진 수열이 있다.
100 이하의 자연수 N을 입력받아 재귀함수를 이용하여 N번째 값을 출력하는 프로그램을 작성하시오.
*/
int a[100]={0,};
int f(int n)
{
    if(n==1) return 1;
    if(n==2) return 2;
    else
    {
        return (f(n-1)*f(n-2))%100;
    }
}
int main()
{
    int n;
    scanf("%d",&n);
    printf("%d",f(n));
    return 0;
}
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
//233 : 함수3 - 형성평가4
/*
첫 번째는 1, 두 번째는 2, 세 번째부터는 앞의 두 수의 곱을 100으로 나눈 나머지로 이루어진 수열이 있다.
100 이하의 자연수 N을 입력받아 재귀함수를 이용하여 N번째 값을 출력하는 프로그램을 작성하시오.
*/
int a[1000]={0,};
int main()
{
    int n;
    scanf("%d",&n);
    a[1]=1,a[2]=2;
    for(int i=3;i<=n;i++)
    {
        a[i]=(a[i-1]*a[i-2])%100;
    }
    printf("%d",a[n]);
    return 0;
}

 

 

 

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
//233 : 함수3 - 형성평가4
/*
첫 번째는 1, 두 번째는 2, 세 번째부터는 앞의 두 수의 곱을 100으로 나눈 나머지로 이루어진 수열이 있다.
100 이하의 자연수 N을 입력받아 재귀함수를 이용하여 N번째 값을 출력하는 프로그램을 작성하시오.
*/
int a[1000]={0,};
int f(int n)
{
    if(n==1) return 1;
    if(n==2) return 2;
    else
    {
        if(a[n]!=0) return a[n];
        else{
            a[n]=(f(n-1)*f(n-2))%100;
            return a[n];
        }
    }
}
int main()
{
    int n;
    scanf("%d",&n);
    printf("%d",f(n));
    return 0;
}

 

 

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=135&sca=10d0

 

JUNGOL | 함수3 - 형성평가5 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

 

 

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
//233 : 함수3 - 형성평가5
/*
100만 이하의 자연수 N을 입력받아 짝수이면 2로  홀수이면 3으로 나누는
작업을 반복하다가 그 값이 1이 되면 그때까지 나누었던 작업의 횟수를 출력하는 프로그램을 재귀함수로 작성하시오.
*/
int cnt;
int f(int n)
{
    if(n==1) return cnt;
    else
    {
        if(n%2==0)
        {
            cnt++;
            return f(n/2);
        }
        else
        {
            cnt++;
            return f(n/3);
        }
    }
}
int main()
{
    int n;
    scanf("%d",&n);
    printf("%d",f(n));
    return 0;
}

 

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=235&sca=10e0

 

JUNGOL | 문자열1 - 자가진단6 > 문제은행

문자를 입력받아 알파벳 문자인 경우에는 그대로 출력하고 숫자인 경우는 아스키코드값을 출력하는 작업을 반복하다가 기타의 문자가 입력되면 종료하는 프로그램을 작성하시오. * 입출력예에서 진한글씨가 출력

www.jungol.co.kr

 

#include 
#include <bits/stdc++.h>
using namespace std;
/*
문자를 입력받아 알파벳 문자인 경우에는 그대로 출력하고 숫자인 경우는
아스키코드값을 출력하는 작업을 반복하다가 기타의 문자가 입력되면 종료하는 프로그램을 작성하시오.

* 입출력예에서 진한글씨가 출력
입·출력 예
A
A
1
49
@
*/
int main()
{
    char a;
    do{
        scanf(" %c",&a);
        if(a>='A' && a<='Z')
            printf("%c",a);
        else if(a>='0' &&a<='9')
            printf("%d",a);
        else
            return 0;
    }while(1);
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

234 : 함수3 - 형성평가4  (0) 2020.03.01
235 : 함수3 - 형성평가5  (0) 2020.03.01
599 : 문자열1 - 자가진단7  (0) 2020.03.01
582 : 함수2 - 자가진단4  (0) 2020.03.01
83 : 함수2 - 자가진단5  (0) 2020.03.01

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=236&sca=10e0

 

JUNGOL | 문자열1 - 자가진단7 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

 

 

#include 
#include <bits/stdc++.h>
using namespace std;
/*
문자열을 입력받아 알파벳 문자만 모두 대문자로 출력하는 프로그램을 작성하시오.
문자열의 길이는 100이하이다.
입력 예
1988-Seoul-Olympic!!!
출력 예
SEOULOLYMPIC
*/
int main()
{
    char a[100]={0,};
    int i;
    scanf("%s",a);
    for(i=1;a[i]!=NULL;i++)
    {
        if(a[i]>='A' && a[i]<='Z')
            printf("%c",a[i]);
        else if(a[i]>='a' && a[i]<='z')
            printf("%c",a[i]-('a'-'A'));
    }
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

235 : 함수3 - 형성평가5  (0) 2020.03.01
598 : 문자열1 - 자가진단6  (0) 2020.03.01
582 : 함수2 - 자가진단4  (0) 2020.03.01
83 : 함수2 - 자가진단5  (0) 2020.03.01
584 : 함수2 - 자가진단6  (0) 2020.03.01

 

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=219&sca=10c0

 

JUNGOL | 함수2 - 자가진단4 > 문제은행

원의 넓이를 입력받아 반지름의 길이를 소수 둘째자리까지 출력하는 프로그램을 작성하시오. 원의 넓이 = 반지름 * 반지름 * 3.14 식을 이용하시오. 원의 넓이 / 3.14 의 제곱근을 구하면 된다.

www.jungol.co.kr

 

 

#include <bits/stdc++.h>
using namespace std;
/*
함수2 - 자가진단4
원의 넓이를 입력받아 반지름의 길이를 소수 둘째자리까지 출력하는 프로그램을 작성하시오.
원의 넓이 = 반지름 * 반지름 * 3.14 식을 이용하시오.
*/

int main()
{

    float a=3.14;
    float b;
    float n;
    float o;
    scanf("%f",&b);

    n = b/a;
    //o = sqrt(b/a);
    o = sqrt(n);

    printf("%.2f", o);
    return 0;
}

 

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=220&sca=10c0

 

JUNGOL | 함수2 - 자가진단5 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

 

#include <bits/stdc++.h>
using namespace std;
/*
583 : 함수2 - 자가진단5
세 개의 실수를 입력받아
가장 큰 수를 올림한 정수를 출력하고
가장 작은 수를 내림한 정수를 출력한 후
남은 수를 반올림한 정수를 출력하는 프로그램을 작성하시오.
입력되는 실수는 -1000이상 1000이하이다.
입력 예
3.45 51.48 -100.1
출력 예
52 -101 3
*/
bool comp(int a,int b){
     return a>b;
}

int main()
{
    float a[3];
    for(int i= 0;i<3;i++){
        scanf("%f",&a[i]);
    }
    float max,mid,min;

    sort(a, a+3,comp);

    max=a[0];
    mid=a[1];
    min=a[2];

    printf("%.2f %.2f %.2f",ceil(max),round(mid),floor(min));

    return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

599 : 문자열1 - 자가진단7  (0) 2020.03.01
582 : 함수2 - 자가진단4  (0) 2020.03.01
584 : 함수2 - 자가진단6  (0) 2020.03.01
586 : 함수2 - 자가진단8  (0) 2020.03.01
233 : 함수3 - 형성평가3  (0) 2020.03.01

 

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=221&sca=10c0

 

JUNGOL | 함수2 - 자가진단6 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

#include <bits/stdc++.h>
using namespace std;
/*
함수2 - 자가진단6
main() 함수 내에는 숫자를 사용하지 말고 1, 2, 3 세 개의 숫자를 조합하여 가능한 한 모든 합을 출력하는 프로그램을 작성하시오.
출력예와 같이 출력하시오.
출력 예
1 + 1 = 2
1 + 2 = 3
1 + 3 = 4
2 + 1 = 3
2 + 2 = 4
2 + 3 = 5
3 + 1 = 4
3 + 2 = 5
3 + 3 = 6
*/

#define START 6
#define END   9

int main()
{
    for(int i=START;i<=END;i++){
        for(int j=START;j<=END;j++){
            printf("%d + %d = %d\n",i,j,i+j);
        }
        printf("\n");
    }
    return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

582 : 함수2 - 자가진단4  (0) 2020.03.01
83 : 함수2 - 자가진단5  (0) 2020.03.01
586 : 함수2 - 자가진단8  (0) 2020.03.01
233 : 함수3 - 형성평가3  (0) 2020.03.01
234 : 함수3 - 형성평가4  (0) 2020.03.01

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=223&sca=10c0

 

JUNGOL | 함수2 - 자가진단8 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

 

 

#include <bits/stdc++.h> 
using namespace std; 
/* 
함수2 - 자가진단8 
정수 두 개를 입력받고  계산식을 매크로 함수로 작성하여 두 수의 차를 제곱한 값과 합을 세제곱한 값을 각각 출력하는 프로그램을 작성하시오. 
(거듭제곱은 '^'로 표시하기로 한다.) 
입력 예 
5 10 
출력 예 
(5 - 10) ^ 2 = 25 
(5 + 10) ^ 3 = 3375 
(5 + 10) ^ 60 = ???? 
*/ 

int main() 
{ 
    int a,b,c; 
    scanf("%d %d",&a,&b); 
    int n = (a-b)*(a-b); 
    c = a+b; 
    int o = c*c*c; 
    int res = 1; 
    for(int i=0;i<3;i++){ 
        res = res * c; 
    } 
    printf("(%d - %d) ^ 2 = %d \n (%d + %d) ^ 3 = %d\n",a,b,n,a,b,o); 
    printf("res = %d\n", res); 

    printf("pow : (%d - %d) ^ 2 = %.0f \n (%d + %d) ^ 3 = %.0f\n", a,b,ceil(pow((a-b),2)),a,b,ceil(pow((a+b),3))); 
    //printf("pow : %f  ===  %f\n", pow((a-b),2), pow((a+b),3)); 

    return 0; 
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

83 : 함수2 - 자가진단5  (0) 2020.03.01
584 : 함수2 - 자가진단6  (0) 2020.03.01
233 : 함수3 - 형성평가3  (0) 2020.03.01
234 : 함수3 - 형성평가4  (0) 2020.03.01
589 : 함수3 - 자가진단3  (0) 2020.02.16

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=133&sca=10d0

 

JUNGOL | 함수3 - 형성평가3 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

 

#include<bits/stdc++.h>
using namespace std;
//함수3 - 형성평가3
vector <int> v;

int check_sum(int n, int m){
    //v의 총합 이 M인지 확인
    int x=0;
    for(int i=0; i<n; i++){
        x=x+v[i];
    }
    if(x==m)return 1;
    else return 0;
}

void f(int n, int m)
{
    int i;
    //printf("=== %d \n", v.size());
    if(v.size()==n){
        if(check_sum(n,m)==1){
            //printf("===0");
            for(i=0; i<n; i++){
                printf("%d ",v[i]);
            }
            printf("\n");
            return;
        }
        else return;
    }

    for(i=1; i<=6; i++){
        v.push_back(i);
        f(n,m);
        v.pop_back();
    }
}


int main()
{
    int n,m;
    //printf("==== 0");
    scanf("%d %d",&n,&m);
    //printf("==== 1")
    f(n,m);
	return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

584 : 함수2 - 자가진단6  (0) 2020.03.01
586 : 함수2 - 자가진단8  (0) 2020.03.01
234 : 함수3 - 형성평가4  (0) 2020.03.01
589 : 함수3 - 자가진단3  (0) 2020.02.16
590 : 함수3 - 자가진단4  (0) 2020.02.16

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=134&sca=10d0

 

JUNGOL | 함수3 - 형성평가4 > 문제은행

첫 번째는 1, 두 번째는 2, 세 번째부터는 앞의 두 수의 곱을 100으로 나눈 나머지로 이루어진 수열이 있다. 100 이하의 자연수 N을 입력받아 재귀함수를 이용하여 N번째 값을 출력하는 프로그램을 작성하시오.

www.jungol.co.kr

 

#include<bits/stdc++.h>
using namespace std;
/*함수3 - 형성평가4
첫 번째는 1, 두 번째는 2, 세 번째부터는 앞의 두 수의 곱을 100으로 나눈 나머지로 이루어진 수열이 있다.
100 이하의 자연수 N을 입력받아 재귀함수를 이용하여 N번째 값을 출력하는 프로그램을 작성하시오.
입력 예
8
출력 예
92
*/
int d[1004];
int f(int n)
{
    int result;
    if(n==1) return 1;
    if(n==2) return 2;
    if(d[n]>0){
        return d[n];
    }
    else{
        d[n] = (f(n-1)*f(n-2))%100;
        return d[n];
    }
}

int main()
{
    int n,k;
    scanf("%d",&n);
    k=f(n);
    printf("%d",k);
	return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

586 : 함수2 - 자가진단8  (0) 2020.03.01
233 : 함수3 - 형성평가3  (0) 2020.03.01
589 : 함수3 - 자가진단3  (0) 2020.02.16
590 : 함수3 - 자가진단4  (0) 2020.02.16
591 : 함수3 - 자가진단5  (0) 2020.02.16

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=226&sca=10d0

 

JUNGOL | 함수3 - 자가진단3 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

#include<stdio.h>
int k=0,c=1;
int f(int p)
{
	k=k+c;
	if(c==p)return k;
	c++;
	f(p);
}
int main()
{
	int n,x;
	scanf("%d",&n);
	x=f(n);
	printf("%d ",x);
	return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

233 : 함수3 - 형성평가3  (0) 2020.03.01
234 : 함수3 - 형성평가4  (0) 2020.03.01
590 : 함수3 - 자가진단4  (0) 2020.02.16
591 : 함수3 - 자가진단5  (0) 2020.02.16
598 : 문자열1 - 자가진단6  (0) 2020.02.16

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=227&sca=10d0

 

JUNGOL | 함수3 - 자가진단4 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

#include<bits/stdc++.h>
using namespace std;
vector<int> v;
void f(int n, int c)
{
	int i;
	if(v.size()==n){
		for(i=0; i<n; i++){
			printf("%d ",v[i]);
		}
		printf("\n");
		return;
	}
	for(i=c; i<=6; i++){
		v.push_back(i);
		f(n,i);
		v.pop_back();
	}
}
int main()
{
	int n;
	scanf("%d",&n);
	f(n,1);
	return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

234 : 함수3 - 형성평가4  (0) 2020.03.01
589 : 함수3 - 자가진단3  (0) 2020.02.16
591 : 함수3 - 자가진단5  (0) 2020.02.16
598 : 문자열1 - 자가진단6  (0) 2020.02.16
231 : 함수3 - 형성평가1  (0) 2020.02.16

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=228&sca=10d0

 

JUNGOL | 함수3 - 자가진단5 > 문제은행

첫 번째 수는 1이고 N번째 수는 (N/2)번째 수(파이썬인경우 N//2번째)와 (N-1)번째 수의 합으로 구성된 수열이 있다. 50 이하의 자연수 N을 입력받아 재귀호출을 이용하여 이 수열에서 N번째 수를 출력하는 프로그램을 작성하시오. (1 2 3 5 7 10 13 18 …)

www.jungol.co.kr

#include<bits/stdc++.h>
int f(int p)
{
	if(p==1)return 1;
	return f(p/2)+f(p-1);
}
int main()
{
	int i,k,n;
	scanf("%d",&n);
	k=f(n);
	printf("%d\n",k);
	return 0;
}

위 코드는 입력 값 n이 커지면, 상당히 느려진다.

그래서 아래와 같이 메모이제이션을 적용하였다.

 

#include<bits/stdc++.h>
int c[1004]={0,};
int f(int p)
{
	if(p==1){
		return 1;
	}
	else if(c[p]!=0){
		return c[p];
	}
	else{
		c[p]=f(p/2)+f(p-1);
	    return c[p];
	}
}
int main()
{
	int i,k,n;
	scanf("%d",&n);
	k=f(n);
	printf("%d\n",k);
	return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

589 : 함수3 - 자가진단3  (0) 2020.02.16
590 : 함수3 - 자가진단4  (0) 2020.02.16
598 : 문자열1 - 자가진단6  (0) 2020.02.16
231 : 함수3 - 형성평가1  (0) 2020.02.16
232 : 함수3 - 형성평가2  (0) 2020.02.16

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=235&sca=10e0

 

JUNGOL | 문자열1 - 자가진단6 > 문제은행

문자를 입력받아 알파벳 문자인 경우에는 그대로 출력하고 숫자인 경우는 아스키코드값을 출력하는 작업을 반복하다가 기타의 문자가 입력되면 종료하는 프로그램을 작성하시오. * 입출력예에서 진한글씨가 출력

www.jungol.co.kr

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

int main()
{
    char n;
    while(1){
        scanf(" %c",&n);
        if(n>='A' && n<='Z'){
            printf("%c \n",n);
        }
        else if(n>='1' && n<='9'){
            printf("%d \n",n);
        }
        else break;
    }
	return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

590 : 함수3 - 자가진단4  (0) 2020.02.16
591 : 함수3 - 자가진단5  (0) 2020.02.16
231 : 함수3 - 형성평가1  (0) 2020.02.16
232 : 함수3 - 형성평가2  (0) 2020.02.16
579 : 함수2 - 자가진단1  (0) 2020.02.16

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=131&sca=10d0

 

JUNGOL | 함수3 - 형성평가1 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

#include <bits/stdc++.h>
using namespace std;
/*
함수3 - 형성평가1
자연수 N을 입력받아 1부터 N까지 출력을 하되 n-1번째 값은 n번째 값을 2로 나눈 몫이 되도록 하는 프로그램을 작성하시오.
*/
void f(int n){
    if(n == 0) return;
    f(n/2);
    printf("%d ", n);
}

int main()
{
    int n;
    scanf("%d", &n);
    f(n);
    return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

591 : 함수3 - 자가진단5  (0) 2020.02.16
598 : 문자열1 - 자가진단6  (0) 2020.02.16
232 : 함수3 - 형성평가2  (0) 2020.02.16
579 : 함수2 - 자가진단1  (0) 2020.02.16
174 : 함수1 - 형성평가5  (0) 2020.02.16

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=132&sca=10d0

 

JUNGOL | 함수3 - 형성평가2 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

 

 

#include <bits/stdc++.h>
using namespace std;
/*
함수3 - 형성평가2
자연수 N을 입력받아 N이 홀수인 경우에는 1부터 N까지의 홀수를  짝수인 경우는 2부터 N까지의 짝수를 모두 출력하는 프로그램을 재귀함수로 작성하시오.
*/
void f(int n){
    if(n == 1 || n == 2){
        printf("%d ", n);
        return;
    }
    f(n-2);
    printf("%d ", n);
}

int main()
{
    int n;
    scanf("%d", &n);
    f(n);
    return 0;
}


'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

598 : 문자열1 - 자가진단6  (0) 2020.02.16
231 : 함수3 - 형성평가1  (0) 2020.02.16
579 : 함수2 - 자가진단1  (0) 2020.02.16
174 : 함수1 - 형성평가5  (0) 2020.02.16
173 : 함수1 - 형성평가4  (0) 2020.02.16

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=216&sca=10c0

 

JUNGOL | 함수2 - 자가진단1 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

선택 정렬 사용해서 풀기,

가장 작은 값을 찾아서, 제일 오른쪽 끝으로 옮기는 방식으로 해결

 

#include <bits/stdc++.h>
using namespace std;
/*
함수2 - 자가진단 1
*/

void f(int a[], int n){ //int *b
    //내림차순

    int min;
    for(int i=0;i<n;i++)
    {
        min = 99;
        int min_idx = 0;
        for(int j=0;j<n-i;j++){
          if(min>a[j]){
            min=a[j];
            min_idx = j;
          }
        }
        int temp= a[min_idx];
        a[min_idx] = a[n-i-1];
        a[n-i-1] = temp;
    }
}

int main()
{
    int a[10];
    int n;
    scanf("%d",&n);

    for(int i=0;i<n;i++){
        scanf("%d",&a[i]);
    }

    f(a, n);  //배열의 이름은 배열의 시작 주소다.ㅁ

    for(int i=0;i<n;i++){
        printf("%d ", a[i]);
    }

    return 0;
}

 

위 코드에서  swap() 함수를 사용한 것으로 개선

https://en.cppreference.com/w/cpp/algorithm/swap

불러오는 중입니다...
#include <bits/stdc++.h>
using namespace std;
/*
함수2 - 자가진단1
*/

void f(int a[], int n){ //int *b
    //내림차순

    int min;
    for(int i=0;i<n;i++)
    {
        min = 99;
        int min_idx = 0;
        for(int j=0;j<n-i;j++){
          if(min>a[j]){
            min=a[j];
            min_idx = j;
          }
        }
        /*
        int temp= a[min_idx];
        a[min_idx] = a[n-i-1];
        a[n-i-1] = temp;
        */
        swap(a[min_idx], a[n-i-1]);

    }
}

int main()
{
    int a[10];
    int n;
    scanf("%d",&n);

    for(int i=0;i<n;i++){
        scanf("%d",&a[i]);
    }

    f(a, n);  //배열의 이름은 배열의 시작 주소다.ㅁ

    for(int i=0;i<n;i++){
        printf("%d ", a[i]);
    }

    return 0;
}

 

 

선택 정렬 사용해서 풀기 2,

가장 큰 값을 찾아서, 제일 왼쪽 끝으로 옮기는 방식으로 해결

 

#include <bits/stdc++.h>
using namespace std;
/*
함수2 - 자가진단1
*/

void f(int a[], int n){ //int *b
    //내림차순

    int max;
    for(int i=0;i<n;i++)
    {
        max = -1000;
        int max_idx = 0;
        for(int j=i;j<n;j++){
          if(max<a[j]){
            max=a[j];
            max_idx = j;
          }
        }
        /*
        int temp= a[min_idx];
        a[min_idx] = a[n-i-1];
        a[n-i-1] = temp;
        */
        swap(a[max_idx], a[i]);

    }
}

int main()
{
    int a[10];
    int n;
    scanf("%d",&n);

    for(int i=0;i<n;i++){
        scanf("%d",&a[i]);
    }

    f(a, n);  //배열의 이름은 배열의 시작 주소다.ㅁ

    for(int i=0;i<n;i++){
        printf("%d ", a[i]);
    }

    return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

231 : 함수3 - 형성평가1  (0) 2020.02.16
232 : 함수3 - 형성평가2  (0) 2020.02.16
174 : 함수1 - 형성평가5  (0) 2020.02.16
173 : 함수1 - 형성평가4  (0) 2020.02.16
172 : 함수1 - 형성평가3  (0) 2020.02.16

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=74&sca=10b0

 

JUNGOL | 함수1 - 형성평가5 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

#include <bits/stdc++.h>
using namespace std;
/*
함수1 - 형성평가4
*/

void f(void){
    int n;
    int a,b,c;
    for(int i=0;i<3;i++){
        //for(int j=0;j<3;j++){
            scanf("%d %d %d",&a,&b,&c);
            n=a+b+c;
            printf("%d %d %d %d \n",a,b,c,n);
        //}
        printf("\n");
    }
}

int main()
{


    f();

    return 0;
}

 

2번째 방법

3과목 점수도  for문을 사용해서 입력 받기

 

#include <bits/stdc++.h>
using namespace std;
/*
함수1 - 형성평가4
*/

void f(void){
    int n=0;
    int a,b,c;
    for(int i=0;i<3;i++){
        n=0;
        for(int j=0;j<3;j++){
            scanf("%d",&a);
            printf("%d-",a);
            n+=a;
        }

        printf("%d \n",n);

    }
}

int main()
{


    f();

    return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

232 : 함수3 - 형성평가2  (0) 2020.02.16
579 : 함수2 - 자가진단1  (0) 2020.02.16
173 : 함수1 - 형성평가4  (0) 2020.02.16
172 : 함수1 - 형성평가3  (0) 2020.02.16
함수3 - 자가진단2  (0) 2020.02.09

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=73&sca=10b0

 

JUNGOL | 함수1 - 형성평가4 > 문제은행

두 개의 음이 아닌 정수를 입력받아 큰 수의 제곱에서 작은 수의 제곱을 뺀 결과값을  출력하는 프로그램을 작성하시오. (두 정수를 전달받아 제곱의 차를 리턴하는 함수를 이용할 것)

www.jungol.co.kr

#include <bits/stdc++.h>
using namespace std;
/*
함수1 - 형성평가4
*/

int f(int a,int b){
    if(a>b){
        return (a*a)-(b*b);
    }
    else{
        return (b*b)-(a*a);
    }
}

int main()
{
    int a,b;

    scanf("%d %d",&a,&b);

    printf("%d ",f(a,b));

    return 0;
}

 

 

abs()함수 사용을 개선

https://en.cppreference.com/w/cpp/numeric/math/abs

 

std::abs, std::labs, std::llabs, std::imaxabs - cppreference.com

int       abs( int n ); long      abs( long n ); long long abs( long long n ); (since C++11) long       labs( long n ); long long llabs( long long n ); (since C++11) (since C++11) (since C++11) Computes the absolute value of an integer number. The behavior

en.cppreference.com

 

#include <bits/stdc++.h>
using namespace std;
/*
함수1 - 형성평가4
*/

int f(int a,int b){
    /*
    if(a>b){
        return (a*a)-(b*b);
    }
    else{
        return (b*b)-(a*a);
    }
    */
    return abs((a*a)-(b*b));

}

int main()
{
    int a,b;

    scanf("%d %d",&a,&b);

    printf("%d ",f(a,b));

    return 0;
}

 

 

pow()함수 사용을 추가 개선

https://en.cppreference.com/w/cpp/numeric/math/pow

 

std::pow, std::powf, std::powl - cppreference.com

(1) float       pow ( float base, float exp ); float       powf( float base, float exp ); (since C++11) double      pow ( double base, double exp ); (2) (3) long double pow ( long double base, long double exp ); long double powl( long double base, long dou

en.cppreference.com

#include <bits/stdc++.h>
using namespace std;
/*
함수1 - 형성평가4
*/

int f(int a,int b){
    /*
    if(a>b){
        return (a*a)-(b*b);
    }
    else{
        return (b*b)-(a*a);
    }
    */
    return abs(pow(a,2)-pow(b,2));

}

int main()
{
    int a,b;

    scanf("%d %d",&a,&b);

    printf("%d ",f(a,b));

    return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

579 : 함수2 - 자가진단1  (0) 2020.02.16
174 : 함수1 - 형성평가5  (0) 2020.02.16
172 : 함수1 - 형성평가3  (0) 2020.02.16
함수3 - 자가진단2  (0) 2020.02.09
함수3 - 자가진단1  (0) 2020.02.09

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=72&sca=10b0

 

JUNGOL | 함수1 - 형성평가3 > 문제은행

자연수를 입력받아 아래와 같은 사각형을 출력하는 프로그램을 작성하시오. 주어지는 수는 100이하의 자연수이다. (함수를 작성하시오.)

www.jungol.co.kr

 

 

#include <bits/stdc++.h>
using namespace std;
/*
함수1 - 형성평가3
*/

void f(int n){
    int i,j;
    for(i=1;i<=n;i++){
        for(j=i;j<=i*n;j=j+i){
            printf("%3d ",j);
        }
        printf("\n");
    }
}

int main()
{
    int i,j, n;

    scanf("%d",&n);

    f(n);
    return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

174 : 함수1 - 형성평가5  (0) 2020.02.16
173 : 함수1 - 형성평가4  (0) 2020.02.16
함수3 - 자가진단2  (0) 2020.02.09
함수3 - 자가진단1  (0) 2020.02.09
함수2 - 형성평가7  (0) 2020.02.09

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=225&sca=10d0

 

JUNGOL | 함수3 - 자가진단2 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

#include <bits/stdc++.h>
using namespace std;
/*
함수3 - 자가진단2
자연수 N을 입력받아 재귀함수를 이용하여 N부터 1까지 차례대로 출력하는 프로그램을 작성하시오.
N은 50이하의 자연수이다.

입력 예
5
출력 예
5 4 3 2 1
*/
void re(int p)
{
    printf("%d \n",p);
    if(p==1)return ;
    p--;
    re(p);
}

int main()
{
    int n;
    scanf("%d",&n);
    re(n);
    return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

173 : 함수1 - 형성평가4  (0) 2020.02.16
172 : 함수1 - 형성평가3  (0) 2020.02.16
함수3 - 자가진단1  (0) 2020.02.09
함수2 - 형성평가7  (0) 2020.02.09
함수2 - 형성평가6  (0) 2020.02.09

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=224&sca=10d0

 

JUNGOL | 함수3 - 자가진단1 > 문제은행

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호 TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com Copyrightⓒ 2010-2019 jungol. All right reserved. TOP

www.jungol.co.kr

#include <bits/stdc++.h>
using namespace std;
/*
함수3 - 자가진단1
20 이하의 자연수 N을 입력받아 재귀함수를 이용해서 문자열 “recursive”를 N번 출력하는 프로그램을 작성하시오.
입력 예
3
출력 예
recursive
recursive
recursive
*/

void re(int p,int n)
{
    printf("recursive\n");
    if(p==n)return;
    p++;
    re(p,n);
}

int main()
{
    int n;
    scanf("%d",&n);
    re(1,n);
    return 0;
}

 

아래와 같이 수정했을때 , 출력 결과가 어떻게 나올지 생각해보면, 재귀함수 이해에 도움이 많이 될것 같네요.^^

 

#include <bits/stdc++.h>
using namespace std;
/*
함수3 - 자가진단1
20 이하의 자연수 N을 입력받아 재귀함수를 이용해서 문자열 “recursive”를 N번 출력하는 프로그램을 작성하시오.
입력 예
3
출력 예
recursive
recursive
recursive
*/

void re(int p,int n)
{
    printf("recursive %d   %d  \n", p, n);
    if(p==n)return;
    p++;
    re(p,n);
    printf("xxx %d   %d\n", p, n);
}

int main()
{
    int n;
    scanf("%d",&n);
    re(1,n);
    return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

172 : 함수1 - 형성평가3  (0) 2020.02.16
함수3 - 자가진단2  (0) 2020.02.09
함수2 - 형성평가7  (0) 2020.02.09
함수2 - 형성평가6  (0) 2020.02.09
함수2 - 형성평가5  (0) 2020.02.09

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=81&sca=10c0

 

JUNGOL | 함수2 - 형성평가7 > 문제은행

원주율을 3.141592로 매크로 상수로 정의하고 원의 넓이를 구하는 매크로 함수를 작성하여 반지름을 입력받아 원의 넓이를 출력하는 프로그램을 작성하시오. (소수 넷째자리에서 반올림)

www.jungol.co.kr

#include <bits/stdc++.h>
using namespace std;
/*
함수2 - 형성평가7
원주율을 3.141592로 매크로 상수로 정의하고 원의
넓이를 구하는 매크로 함수를 작성하여 반지름을 입력받아
원의 넓이를 출력하는 프로그램을 작성하시오. (소수 넷째자리에서 반올림)
입력 예
radius : 1.5
출력 예
area = 7.069
*/
#define PI 3.141592
#define AREA(r) r*r*PI
float f(float r)
{
    float s;
    //s=r*r*PI;
    s=AREA(r);
    return s;
}

int main()
{
    float r,k;
    printf("radius :");
    scanf("%f",&r);
    k=f(r);
    printf("area = %.3f",k);
    return 0;
}

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

함수3 - 자가진단2  (0) 2020.02.09
함수3 - 자가진단1  (0) 2020.02.09
함수2 - 형성평가6  (0) 2020.02.09
함수2 - 형성평가5  (0) 2020.02.09
함수2 - 형성평가4  (0) 2020.02.09

+ Recent posts