當前位置:首頁 » 編程語言 » c語言表達x的y次方
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言表達x的y次方

發布時間: 2022-08-26 17:33:51

1. 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時結束
}

2. 用C語言編一個函數,功能是求X的Y次方

1、新建一個c語言的工程文件,引入頭文件,這里先定義一個poewer函數處理x的y次方的計算,定義兩個參數n和k,分別表示輸入的數和要求的次方數:

3. c語言x的y次方,請問我哪裡寫錯

x的y次方可以用pow函數,頭文件為#include <math.h>,格式pow(x,y);

#include<stdio.h>
#include<math.h>
intmain()
{
intx=2,y=2,n;
printf("2µÄ2´Î·½=%d",n=pow(x,y));
return0;
}

4. 用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;
}

5. C語言中如何寫X^y

C語言中沒有表示次方的運算符

如果要實現一個X^Y可以通過一個循環來實現

下面給出函數原型和函數調用以及部分實現

intfnc_plus(intn,intm);//n是底數,m是次方數
****
intfnc_plus(intn,intm)
{
inti;
for(i=1;i<=m;i++)
n=n*t;
returnn;
}

6. C語言中x^y是什麼意思

根據問題補充。

^=
是個異或並賦值的操作符。屬於位操作符。二者不同返回1,相同返回
0;
意思是
x與y異或的結果存入
x。
假如
x的二進制是
00000000
00000000
00000000
11111111;
或者更長
y的二進制是
00000000
00000000
11111111
00001111;

x^=y;之後
x
的二進制是
00000000
00000000
11111111
11110000;

7. C語言中怎麼表示x的y次方急急

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

8. C語言中有 ^ 這個運算符嗎

有,但不太常見。

按位異或運算符「^」是雙目運算符。其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。還比如 m=9(二進制1001),n=12(二進制1100),那麼 m ^ n的結果是5(二進制0101)。

整數在計算機中用二進制的位來表示,C語言提供一些運算符可以直接操作整數中的位,稱為位運算,這些運算符的操作數都必須是整型的。按位異或運算符「^」是雙目運算符。 其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。

分類和級別

C語言的運算符主要用於構成表達式,同一個符號在不同的表達式中,其作用並不一致。下面按計算的優先順序,分別說明不同作用的表達式。需要特別指出,在C語言標准中,並沒有結合性的說法。

相同優先順序運算符,從左至右依次運算。注意後綴運算優先順序高於前綴。因此++i++應解釋為++(i++)。

而與或非的運算優先順序都不一樣,因此a && b || b && c解釋為(a && b) || (b && c)

合理使用優先順序可以極大簡化表達式。

以上內容參考:網路-C語言運算符

9. 求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

10. 請問各位大佬不用循環c語言x的y次方怎麼表示求完整程序

pow(x,y)