본문 바로가기

Embeded C/C언어 예제

C언어로 두 개의 정수를 입력받고 두 정수 사이에 5의 배수의 개수를 출력하는 프로그램


1. 두 개의 정수를 입력받고 두 정수 사이에 5의 배수의 개수를 출력하는 프로그램을 작성해보겠습니다.
 

출력)    정수(2) 입력 : 5 21

           출력 : 3

두값사이의 5의 배수는 10 15 20 입니다!

두값사이이니 두값은 포함하지 않겠습니다!! 그리고 중요한점은 5 21일 경우도 있고 21 5일 경우도 있습니다
앞자리가 큰수가 나오든 작은수가 나오든 두값사이의 5의 배수를 구해야합니다

#include<stdio.h>

 

int main()

{

           int n1, n2, a=0;

          

           printf("정수(2) 입력 : ");

           scanf("%d %d", &n1, &n2);

           if(n1>n2)

           {

                     a =  n1 - n2;

                     a = a/5;

           }

           else if(n1<n2)

           {

                     a =  n2 - n1;

                     a = a/5;

           }

 

          if(n1%5==0||0==n2%5) a = a+1;

 

           printf("출력 : %d\n", a);

 

           return 0;

}



추가로 main의 계산하는 부분을 따로 함수를 선언하여 main아래에 선언해보겠습니다
추가로 포인터를 사용하여 main 함수의 변수 값을 바꾸는 형태로 해보겠습니다

#include<stdio.h>

 

void processCount(int *pn1, int *pn2, int *pCount);

 

int main()

{

           int n1, n2, count = 0;

          

           printf("정수(2) 입력 : ");

           scanf("%d %d", &n1, &n2);

          

           processCount(&n1, &n2, &count);

           printf("Multiple of 5 : %d \n", count);

 

           return 0;

}

 

void processCount(int *pn1, int *pn2, int *pCount)

{

 

           int temp, i;      

          

           if(*pn1>*pn2)

           {

                     temp = *pn1;

                     *pn1 = *pn2;

                     *pn2 = temp;

           }

 

           for(i=(*pn1+1);i<(*pn2);i++)

           {

                     if(i%5==0)

                     {

                                 *pCount  = *pCount + 1;

                     }

           }

 

           return ;

}