double x,y,p;
scanf("%lf",&x,&y);
p=pow(x,y);
printf("%lf",p);
system("pause");
方法二:
int i,n,sum=1,x;
scanf("%d",&x,&n);
for(i=0;i<=n;i++)
{
sum*=x;
}
printf("%d",sum);
system("pause");
第一个方法是浮点,浮点本来就不精确。所以要得到整数,四舍五入取整应该会是你要的值
第二个方,,应该是for(int =0;i<n;i++)多了一个=号,多循环了一次
一般处理n次方这种大数据的计算,普通的int类型或者double类型容易超出最大值的限制导致计算出错。
for(i=0;i<=n;i++)
改为
for(i=0;i<n;i++)
否则就多了一次
调试下,看看输入的对不对,调用系统函数,只可能你输入不对。
方法一:scanf("%lf",&x,&y);这里应该是scanf("%lf %lf",&x,&y);
方法二:同样的错误。scanf("%d",&x,&n);应该为scanf("%d %d",&x,&n);
scanf("%lf",&x,&y);
这样就只输入了x,y被忽略了
这个问题昨天你不是问过了么?