#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함수에 대한 반환값
}
// 너무 쉽죠? 너무 쉬운 제 소스를 보고 많은 분들이 이해를 했으면 좋겠습니다.