这题就是定义一个独立函数,参数为n和x,根据n的值,判断并选择多项式中的一个式子来计算y的值。计算结果和x的值可直接在函数中打印,也可放数组做返回值返回,在主函数中接收并打印输出。
下面代码是带返回值的写法:
#include <stdio.h>
int* funP(int n,int x);
int main()
{
int *rn=NULL,n,x;
while(1)
{
printf("请输入n和x的值:");
scanf("%d%d",&n,&x);
rn=funP(n,x);
if(rn)
printf("x的值为%d,y的值为%d\n\n",rn[0],rn[1]);
}
return 0;
}
int* funP(int n,int x)
{
static int rn[2];//数组0保存x,1保存结果y
rn[0]=x;
if(n==1 || n==2 || n==3 || n==4 || n==8)
rn[1]=x+1;
else if(n==5)
rn[1]=x+100;
else if(n==6 || n<=0)
rn[1]=x*x+2;
else if(n==7)
rn[1]=x*x*x+3;
else
rn[1]=0;
return rn;
}
int main()
{
int N,X,P;
scanf("%d%d",&X,&N);
if(N==1||N==2||N==3||N==4||N=8)
{
P=X+1;
}
if(N==5)
{
P=X+100;
}
if(N==6||N<=0)
{
P=X*X+2;
}
if(N==7)
{
P=X*X*X+3;
}
else
P=0;
printf("%d",P);
return 0;
}