간단한 프로그램 만들기1

2024. 8. 14. 21:16·문제풀이/C언어
728x90
반응형

간단한 프로그램 함수로 구현하기 1

 

사용자에게 숫자 2개를 입력받고, 사칙연산 기호(+, -, *, /, %, //) 를 입력받으면, 그 연산 결과를 출력하라.


참고) 예제01, 예제02, 예제03, 예제42

//간단한 프로그램 함수로 구현하기 1
//사용자에게 숫자 2개를 입력받고, 사칙연산 기호(+, -, *, /, %, //) 를 입력받으면, 그 연산 결과를 출력하라.
#include <stdio.h>
void plus(int a, int b, int answer, char pl);
void na(int a, int b, int answer, int Mox, char pl);
int main(){
    int a, b, answer, Mox;
    char pl;
    printf("연산 할 2개의 정수와 기호를 입력하시오\n(곱셉은 *| 나눗셈은 / )\n\n");
    scanf("%d  %c  %d", &a, &pl, &b);
    if(pl == '+'){
        plus(a, b, answer, pl);
    }else if(pl == '-'){
        plus(a, b, answer, pl);
    }else if(pl == '*'){
        plus(a, b, answer, pl);
    }else if(pl == '/'){
        na(a, b, answer,Mox , pl);
    }
}
void plus(int a, int b, int answer, char pl){
    if(pl == '+'){
        answer = 0;
        answer = a + b;
    }else if(pl == '-'){
        answer = 0;
        answer = a - b;
    }else if(pl == '*'){
        answer = 0;
        answer = a * b;
    }
    printf("정답은 %d 입니다\n", answer);
}
void na(int a, int b, int answer, int Mox, char pl){
    
    if(pl == '/'){
        Mox = a % b;
        answer = a / b;
    }
    printf("정답은 %d 입니다\n", answer);
    printf("나머지는 %d 입니다\n", Mox);
}

간단한 프로그램 함수로 구현하기 2

 

사용자가 사각형의 넓이, 원의 넓이, 삼각형의 넓이, 원의 둘레를 선택하고 자동 계산되도록 구현하라.

그리고 계산에 필요한 값을 입력받고, 그 결과를 출력하는 프로그램을 구현하라.

 

참고)  예제04, 예제05, 과제02

 

사각형의 넓이 = 가로의 길이 × 세로의 길이

원의 넓이 = 반지름 × 반지름 × 원주율

각형의 넓이 = (1/2) 밑변 × 높


#include <stdio.h>
#define PIE 3.14
void pl(int a, int b, int answer, char select, int select2);
int main(void)
{   
    int a, b, answer;
    char select, select2;
    printf("도형을 선택하십시오..\n1. 사각형 | 2. 삼각형 | 3. 원 \n");
    scanf("%c", &select);
    pl(a, b, answer, select, select2);

    
}
void pl(int a, int b, int answer, char select, int select2){
    
    while(1){
        if(select == '3'){
            printf("원을 선택하셨습니다. 둘레와 넓이를 구할 반지름을 입력 해 주세요.\n");
            scanf("%d", &a);
            answer = 2 * PIE * a;
            select2 = (a * a) * PIE;
            printf("원의 둘레는%.2d / 넓이는 %.2d 입니다.", answer, select2);
            break;
        }else if(select == '2'){
            printf("삼각형을 선택하였습니다.\n삼각형의 넓이를 연산하기 위해 길이와 높이를 입력 해 주세요.");
            scanf("%d %d", &a, &b);
            answer = a * b;
            printf("삼각형의 넓이는 %d 입니다.", answer);
            break;
        }else if(select == '1'){
            printf("사각형을 선택하였습니다.\n사각형의 넓이를 연산하기 위해 가로와 세로의 길이를 입력 해 주세요.\n\n");
            scanf("%d %d", &a, &b);
            answer = a * b;
            printf("사각형의 넓이는 %d 입니다.", answer);
            break;
        }else{
            printf("오류:지원하지 않는 입력입니다.");
            printf("도형을 선택하십시오..\n1. 사각형 | 2. 삼각형 | 3. 원 \n");
            scanf("%c", &select);
        }
    }
}

 

 


 

간단한 프로그램 함수로 구현하기 3

 

사용자가 숫자를 원하는 개수만큼 입력한다.

출력 결과는, 가장 큰 수와 가장 작은수, 홀수와 짝수인지, 양수, 0, 음수의 판결 결과를 출력하는 프로그램을 구현하라

사용자가 입력하는 숫자와 숫자 사이를 구분하는 방법은 개발자가 선택하세요.

 

참고)  예제09, 예제10, 예제11, 예제12, 예제13

#include<stdio.h>

int p1(int,int);
int p2(int,int);
int p3(int,int);
int p4(int,int);


int main(void)
{
    int num1,num2,a;

    printf("두 정수를 입력하시오.\n");
    
    scanf("%d %d",&num1,&num2);
    printf("%d와 %d중 큰 수는 %d\n",num1,num2,p1(num1,num2));
    printf("%d와 %d중 작은 수는 %d\n",num1,num2,p2(num1,num2));
    p3(num1,num2);
    p4(num1,num2);
    
}

p1(int n,int m)
{
    int max;
    if(n>m)
        max=n;
    else
        max=m;

    return max;
}

p2(int n,int m)
{
    int min;
    if(n>m)
        min=m;
    else
        min=n;

}

p3(int n,int m)
{

    if (n%2==0)
        printf("%d는 짝수,",n);
    else
        printf("%d는 홀수,",n);
    if (m%2==0)
        printf("%d는 짝수\n",m);
    else
        printf("%d는 홀수\n",m);

}

p4(int n,int m)
{

    if (n>0)
        printf("%d는 양수,",n);
    else if(n==0)
        printf("%d는 0,",n);
    else
        printf("%d는 음수,",n);
    if (m>0)
        printf("%d는 양수\n",m);
    else if(m==0)
        printf("%d는 0\n",m);
    else
        printf("%d는 음수\n",m);

    
}


 

간단한 프로그램 함수로 구현하기 4

 

세 수를 입력받아, 가장 큰 숫자와 가장 작은 숫자 사이의 수의 합을 계산되도록 구현하라.

모든 방법은 개발자가 선택하세요.

 

참고)  예제18, 예제19, 예제20, 예제21, 예제22, 예제23, 예제24

#include <stdio.h>

void number(int a, int b, int c, int *max, int *min);  // 두 개의 값을 반환하기 위해 포인터 사용

int main(void) {   
    int a, b, c;
    int max, min;
    int sum = 0;
    printf("세 수를 입력하시오: ");
    scanf("%d %d %d", &a, &b, &c);

    // 가장 큰 수와 작은 수를 계산
    number(a, b, c, &max, &min);

    printf("가장 큰 수는 %d\n", max);
    printf("가장 작은 수는 %d\n", min);

    for (int i = min + 1; i < max; i++)
    {
        sum = sum+i;
    }

    printf("가장 큰 수와 작은 수 사이의 합은: %d\n",sum);


    return 0;
}

void number(int a, int b, int c, int *max, int *min) 
{
    if (a > b) 
    {
        *max = a;
        *min = b;   
    } 
    
    else 
    {    
        *max = b;
        *min = a;
    }

    if (*max < c) 
    {
        *max = c;
    }
    
    if (*min > c) 
    {
        *min = c;
    }
}


간단한 프로그램 함수로 구현하기 5

사용자가 도형 모양을 숫자로 선택하고, 해당 번호 도형을 출력하도록 프로그램을 구현하라

 

 

#include <stdio.h>
void p1 (int,int);
void p2 (int,int);
void p3 (int,int);
void p4 (int,int);
void p5 (int,int);
void p6 (int,int);
void p7 (int,int);

int main()
{
    int i, j, k = 0;

    printf("1부터 7까지 원하는 도형을 고르시오 (종료할려면 q) :\n");
    while(scanf("%d",&k) == 1)
    {
        if(k == 1)
        {
            p1(i,j);
        }

        else if(k == 2)
        {
            p2(i,j);
        }
            
        else if(k == 3)
        {
            p3(i,j);
        }
        
        else if(k == 4)
        {
            p4(i,j);
        }
    
        
        else if(k == 5)
        {
            p5(i,j);
        }
    
        
        else if(k == 6)
        {
            p6(i,j);
        }
        
        else if(k == 7)
        {
            p7(i,j);
        }
    
    }



    return 0;
}

void p1 (int i,int j)
{
    // 첫번째 삼각형
    for (i = 0; i <= 5; i++)
    {
        for (j = 0; j <= 5; j++)
        {
            if(j <= i)
            {
                printf(" * ");
                
            }
            else
            {
                printf("   ");
            }

        }
        printf("\n");
    }
    printf("\n");
    
}

void p2 (int i ,int j)
{
    // 두번째 삼각형
    for (i = 0; i <= 5; i++)
    {
        for (j = 0; j <= 5; j++)
        {
            if(j >= 5-i)
            {
                printf(" * ");
                
            }
            else
            {
                printf("   ");
            }

        }
        printf("\n");
    }
    printf("\n");
}

void p3 (int i ,int j)
{
    // 세번째 삼각형
    printf("\n");
    for (i = 0; i <= 5; i++)
    {
        for (j = 0; j <= 5; j++)
        {
            if(j <= 5-i)
            {
                printf(" * ");
                
            }
            // else
            // {
            //     printf("   ");
            // }

        }
        printf("\n");
    }
    printf("\n");
}

void p4 (int i ,int j)
{
    // 네번째 삼각형
    printf("\n");
    for (i = 0; i <= 5; i++)
    {
        for (j = 0; j <= 5; j++)
        {
            if(j >= i)
            {
                printf(" * ");
                
            }
            else
            {
                printf("   ");
            }

        }
        printf("\n");
    }
    printf("\n"); 
 
}

void p5 (int i ,int j)
{
    // 다섯번째 삼각형
    printf("\n");

    for (i = 0; i <= 5; i++)
    {
        for (j = 0; j <= 4 - i; j++)
        {
            printf(" # ");

        }

        for (j = 0; j < 2 * i + 1; j++)
        {
            printf(" * ");
        }
        

        printf("\n");
    }
    printf("\n");
}

void p6 (int i ,int j)
{
    // 여섯번째 삼각형
    for (i = 0; i <= 5; i++)
    {
        for (j = 0; j <= i-1; j++)
        {
            printf("   ");

        }
        for (j = 12; j > 2 * i + 1; j--)
        {
            printf(" * ");
        }
        

        printf("\n");
    }
    printf("\n");
}

void p7 (int i ,int j)
{
    // 일곱번째 삼각형
    for (i = 0; i <= 2; i++)
    {
        for (j = 0; j <= 4 - i; j++)
        {
            printf("   ");

        }
        for (j = 0; j < 2 * i + 1; j++)
        {
            printf(" * ");
        }
        

        printf("\n");
    }

    for (i = 0; i <= 2; i++)
    {
        for (j = -3; j <= i-1; j++)
        {
            printf("   ");

        }
        for (j = 6; j > 2 * i + 1; j--)
        {
            printf(" * ");
        }
        

        printf("\n");
    }
    printf("\n");
}


간단한 프로그램 함수로 구현하기 6

 

삼각형 모양 출력하기: 사용자로부터 정수 하나를 입력받아 다음 실행 예와 같은 도형을 출력하는 프로그램을 장석하라.

첫번째 줄에는 '*'문자가 1개,

두번째 줄에는 '*'문자가 2개,

세번째 줄에는 '*'문자가 3개,

이와 같이 매 줄마다 하나씩 늘어가면ㅅ '*' 문자가 출력된다.

단, '*'문자가 출력되기 전에 공백 문자(들)이 먼저 출력된다.

 

@실습 및 프로그래밍 절차

- 사용자로부터 1개의 정수값을 입력받고, 이 값이 0 이하인 경우 프로그램은 종료한다.

- 반복문을 사용하여 입력값 만큼 반복하여 각 라인을 출력한다.

- 각 라인 또한 반복문을 사용하여 공백 문자를 먼저 출력하고, 또 다시 반복문을 사요하여 '*'문자를 출력한다.

 

 

 

 

 


 

간단한 프로그램 함수로 구현하기 7

빈 다이아몬드 모양 출력하기:

사용자로부터 정수 하나를 입력받아 실행 예와 같은 도형을 출력하는 프로그램을 작성하라.

가운데 다이아몬드 모양이 있고 그 외의 칸에는 'X'문자가 출력되어야 한다.

이때 가로와 세로의 모양이 같다.

입력값이 짝수일 경우에는 1을 빼서 홀수 로 만든 후 도형을 출력하면 된다.

입력값이 0 이하인 경우 프로그램은 종료된다.

 

@참고 사항

- 입력값이 9인 경우,

첫 번째 라인에는 4개의 'X' 다음에 공백 그 다음에 다시 4개의 'X'가 출력된다.

두 번째 라인에는 3개의 'X' 다음에 공백이 3개가 출력된 후 그 다음에 다시 3개의 'X'가 온다.

세 번째 라인에는 2개의 'X' 로부터 시작하고

네 번째 라인에는 1개의 'X' 로 시작한다.

 

@실습 및 프로그래밍 절차

- 반복문을 사용하여 'X' 문자를 어떻게 출력할 것인지 문제를 분석한다.

- 사용자로부터 1개의 정수값을 입력받고, 이 값이 0 이하인 경우 프로그램은 종료한다.

- 입력값이 짝수인 경우 1을 빼서 홀수로 만든다.

- 참고 사항 및 문제 분석 내용을 토대로 반복문을 사용하여 주어진 패턴의 모양을 출력한다.

 

 

 

#include<stdio.h>
void p(int i,int j,int n);


int main(void)
{

    int i,j,n;
    printf("정수 입력(끝내려면 q)\n");
    while (scanf("%d",&n)==1)
    {
        n=n/2;
        p(i,j,n);
    }
    
    return 0;   

}

void p(int i,int j,int n)
{   
    
    
    for (i=1; i<=n; i++)
    {   
        
        for(j=1; j<=n; j++)    
        {   
            if(j <=(n+1)-i)
                printf(" x ");
            else 
                printf("   ");
            
            
                
            
        }
        printf(" ");
        for(j=1; j<=n; j++)    
            {   
                
                if(j>=i)
                    
                    printf(" x ");
                else
                    printf("   ");
                    
            }
        
        printf("\n");   
        
    }
    for (i=1; i<=(n+1); i++)
        {
            for(j=1; j<=n; j++)    
            {   
                
                if(j>=i)
                    
                    printf("   ");
                else
                    printf(" x ");
                    
            }
            
            printf(" ");

            for(j=1; j<=n; j++)
            {
            if (j>=(n+2)-i)
                printf(" x ");
            else
                printf("   ");
            }
            printf("\n");
            
        }
            
    


}

 


 

간단한 프로그램 함수로 구현하기 8

꽉찬 다이아몬드 만들기

 
 
#include<stdio.h>
void p(int i,int j,int n);


int main(void)
{

    int i,j,n;
    printf("정수 입력(끝내려면 q)\n");
    while (scanf("%d",&n)==1)
    {
        n=(n/2)+1;
        p(i,j,n);
    }
    printf("종료!\n");
    
    return 0;   

}

void p(int i,int j,int n)
{   
    
    for (i=1; i<=n; i++)
        {   
            
            for(j=1; j<=n-i; j++)    
                
                printf("   ");
            for(j=1; j <2 * i; j++)
                printf(" x ");
                
                
            printf("\n");   
        
            
        }
    
    for (i=1; i<=n; i++)
        {   
            
            for(j=3; j<=i+2; j++)    
                
                printf("   ");
            for(j=(n*2)-1; j >2 * i; j--)
                printf(" x ");
                
                
            printf("\n");   
        
            
        }        
    


}
 

 

간단한 프로그램 함수로 구현하기 9

나비 넥타이 만들기

#include <stdio.h>
void num(int i, int j, int n);

int main(void) {

    int i, j, n;

    printf("원하는 나비넥타이 행수를 입력하시오: \n");
    
    scanf("%d", &n);
    n = n/2 + 1;
    
    num(i, j, n);

    return 0;
}

void num(int i, int j, int n)
{
    // 위쪽 부분
    for (i = 0; i < n; i++) 
    {
        // 왼쪽 날개
        for (j = 0; j <= i; j++) 
        {
            printf("*");
        }
        // 가운데 공백
        for (j = 0; j < 2*(n-i-1); j++) 
        {
            printf(" ");
        }
        // 오른쪽 날개
        for (j = 0; j <= i; j++) 
        {
            printf("*");
        }
        printf("\n");
    }

    // 아래쪽 부분
    for (i = n-2; i >= 0; i--) 
    {
        // 왼쪽 날개
        for (j = 0; j <= i; j++) 
        {
            printf("*");
        }
        // 가운데 공백
        for (j = 0; j < 2*(n-i-1); j++) 
        {
            printf(" ");
        }
        // 오른쪽 날개
        for (j = 0; j <= i; j++) 
        {
            printf("*");
        }
        printf("\n");
    }
}


간단한 프로그램 함수로 구현하기 10

화살표 만들기

(입력 없이 그냥 모양만 비슷하게 해도 됨, 출력 정렬 사용 안됨)

//간단한 프로그램 만들기 1 10번
#include <stdio.h>

int main(void)
{
    int i,j,k,l;
    int num;
    printf("입력 >>");
    scanf("%d",&num);
    if (num % 2 == 0)
        num = num -1;

    for(i=0;i<num;i++)
    {
        for(j=0;j<num-i;j++)
        {
            printf("   ");
        }
        for(k=0; k<2*i+1;k++)
        {
            printf(" * ");
        }
        for(l=0;l<num-i;l++)
        {
            printf("   ");
        }
        printf("\n");
    }
    for(i = 0; i<num; i++)
    {
        for(j=0;j<num/2+1;j++)
        {
            printf("   ");
        }
        for(k=0;k<num;k++)
        {
            printf(" * ");
        }
        for(l=0;l<3;l++)
        {
            printf("   ");
        }
        printf("\n");
    }
}

 

 


 

간단한 프로그램 함수로 구현하기 11

트리 만들기

(입력 없이 그냥 모양만 비슷하게 해도 됨, 출력 정렬 사용 안됨)

 

#include<stdio.h>
void p(int i,int j,int n);
int main(void)
{
    int i,j,n;
    printf("정수 입력(끝내려면 q)\n");
    while (scanf("%d",&n)==1)
    {
        p(i,j,n);
    }
    printf("종료!\n");
    
    return 0;   

}


void p(int i,int j,int n)
{
    for (i=1; i<=n; i++)
        {   
            
            for(j=1; j<=(n+4)-i; j++)    
                
                printf("   ");
            for(j=1; j <2 * i; j++)
                printf(" * ");
                
                
            printf("\n");   
        
            
        }
    for (i=2; i<=(n+2); i++)
        {   
            
            for(j=1; j<=(n+4)-i; j++)    
                
                printf("   ");
            for(j=1; j <2 * i; j++)
                printf(" * ");
                
                
            printf("\n");   
        
            
        }
    for (i=3; i<=(n+4); i++)
        {   
            
            for(j=1; j<=(n+4)-i; j++)    
                
                printf("   ");
            for(j=1; j <2 * i; j++)
                printf(" * ");
                
                
            printf("\n");   
        
            
        }
    for (i=1; i<=(n+2); i++)
        {   
            for(j=0;j<=(n+1);j++)
                printf("  ");
            for(j=1;j<=(n+3);j++)
                printf(" * ");
                printf("\n");
        }
        printf("\n");
}

 


 

간단한 프로그램 함수로 구현하기 12

튤립  만들기

 

//간단한 프로그램 함수로 구현하기 12
#include <stdio.h>
int main(){
    int toplen_max = 4; 
    int toplen, one, two, three, four, five, six, seven;
    for(toplen = 0; toplen < toplen_max; toplen++){
        for(one = toplen_max-1; one > toplen; one--){
            printf("  ");
        }
        for(two = 0; two < toplen*2+1; two++){
            printf("* ");
        }
        for(three = toplen_max*2; three > toplen*2+1; three--){
            printf("  ");
        }
        for(four = 0; four < toplen*2+1; four++){
            printf("* ");
        }
        for(five = toplen_max*2; five > toplen*2+1; five--){
            printf("  ");
        }
        for(six = 0; six < toplen*2+1; six++){
            printf("* ");
        }
        printf("\n");
        //튤립상단
    }
    for(toplen = 0; toplen <= toplen_max*3-1; toplen++){
        for(one = 0; one < toplen; one++){
            printf("  ");
        }
        for(two = toplen_max*6; two > toplen*2+1; two--){
            printf("* ");
        }
        printf("\n");
        //튤립 꽃받침쪽
    }
    for(toplen = 0; toplen < toplen_max*3; toplen++){
        for(one = 0; one < toplen_max*3-1; one++){
            printf("  ");
        }
        for(two = 0; two < 1; two++){
            printf("* ");
        }
        printf("\n");
        //튤립 줄기부분
    }
}


 

간단한 프로그램 함수로 구현하기 13

풍차 만들기

(입력 없이 그냥 모양만 비슷하게 해도 됨, 출력 정렬 사용 안됨, 돌아가는거 아님)

 

#include<stdio.h>
void p1 (int i,int j,int n);
void p2 (int i,int j,int n);

int main(void)
{   
    int i,j,n;
    printf("풍차 크기를 입력하시오: \n");
    scanf("%d",&n);
    n = n -2;
    p1(i,j,n);
    p2(i,j,n);
}

void p1 (int i,int j,int n)
{
    // 첫번째 삼각형
    for (i = 0; i <= n; i++)
    {
        for (j = 0; j <= n; j++)
        {
            if(j <= i)
            {
                printf(" * ");
                
            }
            else
            {
                printf("   ");
            }

        }

        for (j = 0; j <= n; j++)
        {
            if(j <= n-i)
            {
                printf(" * ");
                
            }
            else
            {
                printf("   ");
            }

        }
        printf("\n");
    }
    
}

void p2 (int i ,int j,int n)
{
    // 두번째 삼각형
    for (i = 0; i <= n; i++)
    {
        for (j = 0; j <= n; j++)
        {
            if(j >= n-i)
            {
                printf(" * ");
                
            }
            else
            {
                printf("   ");
            }

        }
        
        for (j = 0; j <= n; j++)
        {
            if(j >= i)
            {
                printf(" * ");
                
            }
            else
            {
                printf("   ");
            }

        }    
        printf("\n");
    }
}

728x90
반응형

'문제풀이 > C언어' 카테고리의 다른 글

간단한 프로그램 만들기 2  (0) 2024.08.19
문제풀이 4. 배열  (0) 2024.08.14
문제풀이 3. 반복구조  (0) 2024.08.14
문제풀이 1. 순차구조  (0) 2024.08.14
'문제풀이/C언어' 카테고리의 다른 글
  • 간단한 프로그램 만들기 2
  • 문제풀이 4. 배열
  • 문제풀이 3. 반복구조
  • 문제풀이 1. 순차구조
DDD Developer
DDD Developer
  • DDD Developer
    DDD
    DDD Developer
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 개발 일지
        • C언어
        • python 파이썬
        • 기타
        • 데이터베이스
        • TCP 와 IP
        • C++
        • QT
        • C#
      • 스터디
        • C언어
        • python 파이썬
        • TCP 와 IP
        • C++ 스터디
        • QT 스터디
      • 프로젝트
      • 문제풀이
        • C언어
        • python 파이썬
  • 인기 글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.2
DDD Developer
간단한 프로그램 만들기1
상단으로

티스토리툴바