#include <stdio.h>
#include <math.h>

int pow(int x, int y);  //함수선언 x=실제 x값(xvalue), y=지수값(up1~up4)

void main()
{
 int no1, no2, no3, no4, up1, up2, up3, up4, xvalue;
 long int val1, val2, val3, val4; //각각의 지수부 계산
 long int total;      //result 값


 printf("1번째 지수 입력 : ");
 scanf("%d", &no1);

 printf("2번째 지수 입력 : ");
 scanf("%d", &no2);

 printf("3번째 지수 입력 : ");
 scanf("%d", &no3);

 printf("4번째 지수 입력 : ");
 scanf("%d", &no4);

 printf("1번째 차수 입력 : ");
 scanf("%d", &up1);

 printf("2번째 차수 입력 : ");
 scanf("%d", &up2);

 printf("3번째 차수 입력 : ");
 scanf("%d", &up3);

 printf("4번째 차수 입력 : ");
 scanf("%d", &up4);

 printf("x값 입력 : ");
 scanf("%d", &xvalue);

 val1 = no1 * pow(xvalue, up1);  //지수부를 먼저 계산하여 각 val1~4의 값에 할당(pow함수 호출)
 val2 = no2 * pow(xvalue, up2);
 val3 = no3 * pow(xvalue, up3);
 val4 = no4 * pow(xvalue, up4);
 total = val1 + val2 + val3 + val4; //total변수 = 총 결과값

 printf("\n\n");
 printf("----------------------------\n");
 printf(" 지수 :  %d  %d  %d  %d\n", no1, no2, no3, no4);
 printf(" 차수 :  %d  %d  %d  %d\n", up1, up2, up3, up4);
 printf("----------------------------\n");
 printf("  x값 :  %d\n", xvalue);
 printf("\n\n");
 printf("---------------------------------------\n");
 printf("  식 : %dx^%d + %dx^%d + %dx^%d + %dx^%d\n", no1, up1, no2, up2, no3, up3, no4, up4);
 printf("\n");
 printf("  결과값 : %d \n" , total);
 printf("---------------------------------------\n");
 
 


 printf("\n");
}


int pow(int x,int y) //x=xvalue, y=차수(up1~4)
{      
 int c;   //차수를 계산하기 위한 변수
 int result=1;

    c = 0; 

 while ( c < y ) //c가 y(차수 up1~up4)보다 작을때까지 반복
 {   
 c++;  
 result =  result  * x ;  //차수 계산
 }
 
 return  result ;   //pow함수에 대한 반환값
}

// 너무 쉽죠? 너무 쉬운 제 소스를 보고 많은 분들이 이해를 했으면 좋겠습니다.

Posted by 정훈승