{
int i=0,n;
float s,x,z;
s=0;
float fact(float x,int n);
scanf("%f %d",x,n);
for(i=1;i<=n;i++)
z=fact(x,n);
s=s+z;
printf("%f",s);
return 0;
}
float fact(float x,int n)
{
int j=0;
float f;
f=1;
for(j=1;j<=i;j++)
f=x*x;
return f;
}
提示error C2065: 'i' : undeclared identifier i 我前面定义了的啊 告诉为什么,怎么改,谢谢
果然一看好多错误的地方
改了之后还是计算不对啊 输入2 2 进去
输出的是8啊
for(j=1;j<=n;j++) /**/ 这里那不是永远都是n次方了吗
f=f*x; /**/
哪是8呢。明明是6啊。我都运行过啦。
我要这里的i 和前面的 i 一样 怎么改啊
追答你的代码应该这样改
{
int i=0,n;
float s,x,z;
s=0;
float fact(float &x,int &n);//加上&
scanf("%f %d",x,n);
for(i=1;i<=n;i++) //这里少了一对大括号
{
z=fact(x,i); // 把n该为i
s=s+z;
}
printf("%f",s);
return 0;
}
float fact(float x,int n)
{
int j=0;
float f;
f=1;
for(j=1;j<=n;j++) //把i改为n
f=f*x; //一个x改为f
return f;
}
哦,这个我懂了 怎么改呢
初学者 让您见笑了,能告诉我怎么改吗
追答我是路过打酱油的 、