当前位置:首页 » 编程语言 » 求x的y次方c语言

求x的y次方c语言

发布时间: 2022-05-26 09:50:43

‘壹’ 用c语言函数求x的y次方

#include<stdio.h>

int main(void)
{

double power(double x, double y);
double x, y;
printf("请输入底数后按回车\n");
scanf("%lf", &x);
printf("请输入指数后按回车\n");
scanf("%lf", &y);
printf("%lf的%lf次方是%lf", x, y, power(x, y));
return 0;

}

double power(double x, double y)
{
double a, b ,c=x;
for( a = 1; a < y; a++)
{
b = x;
c = c*b;
}

return c;
}

‘贰’ 求X的Y次方幂C语言代码

(1)for语句后边是不加分号的。
(2)在for循环中,结束条件如果是i<=y,前边s的初值应该是1。

#include<stdio.h>
void main()
{
int x,y,i,s;
scanf("%d,%d",&x,&y);
s=1; // s
for(i=1;i<=y;i++) //无分号
s=s*x;
printf("%d",s);
}

运行结果:
4,5
1024Press any key to continue

‘叁’ c语言 递归求x的y次方,

#include<stdio.h>

intfun(intx,inty)
{
if(y==1)
returnx;
else
returnx*fun(x,y-1);
}
intmain()
{
intx,y;
intsum;
scanf("%d%d",&x,&y);
sum=fun(x,y);
printf("%d ",sum);

}

‘肆’ C语言中求X的Y 次方 哪里错了

这样做是不对的。
C不支持程序反复的运行,即不能编译一次而运行多次。
如果你的代码是这样而要输入算多组数据,需要你运行多次。

想要一次运行完,则需定义两个数组a[i],b[j]。i,j的值必须给出,或者你不给出但要定义的时候给出两个数组的全部元素列出来。

说明你输入的数据较大。修改数据类型为:long

代码如下:
#include<stdio.h>
#include<math.h>
void main()
{
long x,y;
long s;
scanf("%f%f",&x,&y);
s=pow(x,y);
printf("%.3f\n",s);
}

‘伍’ C语言 利用递推法计算X的y次方

double p(double x, int y){
if(y==0)
return 1.0;
return x*p(x, y-1);
}

int main(){
printf("%d", p(2.5,3));
return 0;
}

‘陆’ 用C语言编写一个计算用来求 x 的 y 次幂的函数:int Pow(int x,int y)。

看的出来你用的是32位的软件(1410065408约为2的30(1073741824)次方到31次方(2 147 483 648)),那int的最大长度就是32位,即-2 147 483 648~2 147 483 647间,超出这个长度就会显示不全导致错误,故可以将子函数的返回值设为double即64位,这样就可以存更多的数据了。

‘柒’ C语言中怎么表示x的y次方急急

首先要#include<math.h>
然后pow(x,y)就可以了

‘捌’ 以下函数用以求x的y次方,请补充填空。c语言。

double fun (double x,int y)
{
int i;
double z;
for(i=1,z=1;i<=y;i++)
{z=z*x;}
return z;
}

‘玖’ C语言编程填空题,求x的y次方

#include<stdio.h>
int fun( int x,int y)
{int i;
int z=1;
for(i=1;i<=y;i++) z=z*x;
return z;
}
int main()
{printf("%d ",fun(3,2));
return 0;
}

‘拾’ c语言,计算x的y次方,结果是大整数。

#include<stdio.h>
#include<string.h>
//加法,加数与和都用字符串保存
voidadd(char*n1,char*n2,char*result)
{
inti,j,k,b=0;
i=strlen(n1)-1;
j=strlen(n2)-1;
if(i>=j)k=i;
elsek=j;
result[k+1]=0;//先假定最高位加法没有进位,加法结果仍然是k位数字
while(i>=0&&j>=0){//从个位(最右侧)开始按位相加
result[k]=n1[i--]+n2[j--]+b-'0';
if(result[k]>'9'){//有进位
result[k]-=10;
b=1;
}
elseb=0;//进位标志
k--;
}
if(i>j){//n1比n2的位数多,将多出的部分加上进位标志赋给和的高位
while(i>=0){
result[k]=n1[i--]+b;
if(result[k]>'9'){
result[k]='0';
b=1;
}
elseb=0;//进位标志
k--;
}
}
elseif(i<j){
while(j>=0){
result[k]=n2[j--]+b;
if(result[k]>'9'){
result[k]='0';
b=1;
}
elseb=0;//进位标志
k--;
}
}
if(b==1){//还有进位,所有数向右移一位,给空出来的最左侧的最高位置为一
k=strlen(result);
result[k+1]=0;
for(i=k;i>0;i--)
result[i]=result[i-1];
result[0]='1';
}
}
//乘法,乘数是一个个位数,函数利用了加法运算
voidmul1(char*n1,charn2,char*result)
{
inti,n,k,b=0;
k=strlen(n1);
result[k+1]=0;
for(i=k-1;i>=0;i--){
n=(n1[i]-'0')*(n2-'0')+b;
if(n>9){
b=n/10;
result[k--]=(n%10)+'0';
}
else{
b=0;
result[k--]=n+'0';
}
}
if(b>0)
result[0]=b+'0';
else{
for(i=1;result[i]!=0;i++)
result[i-1]=result[i];
result[i-1]=0;
}
}
//乘法,函数利用了乘数为个位数的乘法运算
voidmul(char*n1,char*n2,char*result)
{
inti,j,l;
chart1[161],t2[161];
strcpy(result,"0");
l=strlen(n2);
for(j=l-1;j>=0;j--){
mul1(n1,n2[j],t1);
for(i=0;i<l-j-1;i++)
strcat(t1,"0");
strcpy(t2,result);
add(t1,t2,result);
}
}
//乘方运算,函数利用了乘法运算
voidpowlong(intx,inty,char*result)
{
inti;
chart1[81],t2[3];
sprintf(result,"%d",x);
for(i=1;i<y;i++){
strcpy(t1,result);
sprintf(t2,"%d",x);
mul(t1,t2,result);
}
}
main()
{
charr[161];
intx,y;
do{
printf("输入X(1-10之间)和Y(1-20之间):");
scanf("%d%d",&x,&y);
if(x>10||x<1||y>20||y<1)
continue;
powlong(x,y,r);
printf("%d的%d次方=%s ",x,y,r);
}while(x||y);//x=0y=0时结束
}

热点内容
疯狂java视频 发布:2025-02-12 19:38:17 浏览:149
flash免费上传网站 发布:2025-02-12 19:14:03 浏览:190
买脚本一般都在哪里 发布:2025-02-12 19:08:07 浏览:823
恋舞刷分脚本se下载 发布:2025-02-12 18:56:53 浏览:8
c语言大小写转换程序 发布:2025-02-12 18:55:23 浏览:524
三星耳机坏了怎么配置 发布:2025-02-12 18:54:46 浏览:975
简易编程语言 发布:2025-02-12 18:48:07 浏览:523
咋上传视频 发布:2025-02-12 18:45:50 浏览:288
python的包机制 发布:2025-02-12 18:45:49 浏览:448
sqlserver网络实用工具 发布:2025-02-12 18:38:56 浏览:767