當前位置:首頁 » 編程語言 » c語言求冪值
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言求冪值

發布時間: 2022-10-15 16:25:48

c語言數組求冪謝謝

#include<stdio.h>
#include<string.h>
int poll(int a,int b)
{
int i,s=1;
for(i=1;i<=b;i++)
s=s*a;
return s;
}//自定義的求冪函數
int main()
{
int i,j,k,l,n,m;
int t;
char a[100];
int poll(int a,int b);
while(scanf("%d %s",&n,a)!=EOF)//輸入
{
t=0;
l=strlen(a)-1;
printf("%d\n%s\n",n,a);//將輸入輸出
for(i=0;a[i]!='\0';i++)//轉換過程
{
if(n!=16)
{
t=t+(a[i]-'0')*poll(n,l);
l--;
}
else
{

if(a[i]>='A'&&a[i]<='f')
t=t+(a[i]-'A'+10)*poll(n,l);
else
t=t+(a[i]-'0')*poll(n,l);
l--;
}
}
printf("%d\n",t);//所求的結果
}
}
這個代碼沒有問題,不懂的話,在問我吧
其中n就是2或8或16,也可以是別的數,而a[]就是與n相對應的進制數
下面是輸入輸出樣例
2 10101010110
2
10101010110
1366
8 777777777
8
777777777
134217727
16 F08F89FAD
16
F08F89FAD
150511533

⑵ C語言中的冪函數··

extern float pow(float x, float y)

  1. 用法:#include <math.h>

  2. 功能:計算x的y次冪。

  3. 說明:x應大於零,返回冪指數的結果。

  • 舉例:

    // pow.c

    #include <stdlib.h>
    #include <math.h>
    #include <conio.h>
    void main()
    {
    printf("4^5=%f",pow(4.,5.));
    getchar();
    }

    相關函數:pow10

⑶ C語言如何實現冪運算

C語言中計算一個數的N次方可以用庫函數pow來實現。

函數原型:double pow(double x, double y);
功 能:計算x^y的值
返 回 值:計算結果

舉例如下:
double a = pow(3.14, 2); // 計算3.14的平方
註:使用pow函數時,需要將頭文件#include<math.h>包含進源文件中。

⑷ C語言中怎麼求冪

可以用在math.h頭文件中聲明的pow()函數求,例如:

要求a的b次方,就用pow(a,b)即可。

^符號在C中是位異或操作符,不用於求乘方。

⑸ C語言 求冪值。。

同意樓上的 ->f的值小於10的-8次??? 明顯太扯了

並且x的值稍微大一點 double的精度就都爆掉 除非你用高精度去存 假設你不考慮高精度 那這種運算明顯應該用位運算來寫比較合理

參考下面代碼

#include<stdio.h>
#include<iostream>
usingnamespacestd;
intmodexp(longlonga,longlongb,longlongn)
{
intret=1;
longlongtmp=a;
while(b)
{
//基數存在
if(b&0x1)ret=ret*tmp%n;
tmp=tmp*tmp%n;
b>>=1;
}
returnret;
}

intmain()
{
inta,b,c;
scanf("%d%d%d",&a,&b,&c);
intans=modexp(a,b,c);
cout<<ans<<endl;
}

這個是 (a^n)mod b 的演算法模板

⑹ C語言求冪

1,for循環的條件錯了,應該是大於號。
2,math.h中的函數用的時候要慎重,這些都是用來做復雜的數學計算的,時間開銷都很大。
3,求余只能對整數操作,這點是必然的。但浮點數是可以轉換成整數的,可以用強制類型轉換,或者設一個整型的中間變數。注意浮點數轉整數的時候是舍入的。當然,這里只是說這個事,不建議這樣做。

建議的做法有兩個,簡單點延用原有的思路,可以自己寫一個求10的k次方的函數,用整數進行運算。
int pow10n( int k )
{
r = 1;
for(i=0; i <k ; ++i)
r *= 10;
return r;
}

復雜點的做法是把求10的k次方這個運算和拆分n的循環嵌在一起,這個應該是正統的做法。

for( k=0; k<3; ++k )
{
n %= 10;
}
當然,這個演算法得到的結果是逆序的,4、3、2、1
這有兩個辦法,一個是把結果順序放到數組中,輸出的時候把順序倒過來,說白了是用中間變數。
另外一個辦法是用棧,或者用遞歸(本質上也是用的棧),直接按逆序出結果。當然,這個方法對初學者有點難度了。

⑺ C語言中的冪函數··

extern float pow(float x, float y)

  1. 用法:#include <math.h>

  2. 功能:計算x的y次冪。

  3. 說明:x應大於零,返回冪指數的結果。

  • 舉例:

    // pow.c

    #include <stdlib.h>
    #include <math.h>
    #include <conio.h>
    void main()
    {
    printf("4^5=%f",pow(4.,5.));
    getchar();
    }

    相關函數:pow10

⑻ C語言計算冪函數怎麼算

#include
<stdio.h>
int
main(void)
{
int
x,y=1,z;
printf("Enter
x:");
scanf("%d",&x);
for(z=1;z<=x;z++)
{
y=y*x;
}
printf("y=%d",y);
return
0;
}

#include
<stdio.h>
#include
<math.h>
int
main(void)
{
int
x,y;
printf("Enter
x:");
scanf("%d",&x);
y=pow(x,x);
printf("y=%d",y);
return
0;
}

⑼ 在C語言中如何計算一個數的冪的方法有哪些

整數的話最簡單的辦法就是將一個給定到數連乘n次;以計算a到n次冪為例:
#include"stdio.h"
main()
{
double a,temp;
int n,i;
temp=1;
printf("請輸入底數:");
scanf("%d",&a);
printf("請輸入指數:");
scanf("%d",&n);
for(i=0;i<n;i++);
{
temp=temp*a;
}
printf("%f",temp);
}
這種方法只適用與指數n為>=0的整數;如果涉及分數或負數要用到數學函數#include"math.h"

⑽ 在C語言中如何計算一個數的冪的方法有哪些

整數的話最簡單的辦法就是將一個給定到數連乘n次;以計算a到n次冪為例:
#include"stdio.h"
main()
{
double
a,temp;
int
n,i;
temp=1;
printf("請輸入底數:");
scanf("%d",&a);
printf("請輸入指數:");
scanf("%d",&n);
for(i=0;i
{
temp=temp*a;
}
printf("%f",temp);
}
這種方法只適用與指數n為>=0的整數;如果涉及分數或負數要用到數學函數#include"math.h"