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

c語言cal

發布時間: 2022-05-28 13:28:43

c語言題: 按下面要求編寫程序: (1)定義函數cal-power(x,n)計算x的n次冪(即x^

doublecal_power(doublex,intn)
{doubley=1;
for(;n;n--)
y*=x;
returny;
}

⑵ C語言如何返回值

首先說明一下你的程序的問題與缺陷:

1: return語句 只能返回一個值,而不能寫成 「return h,l;」

2:你在main()中定義了h,l,而在調用cal()時,又定義了h,l,這兩個h,l是完全不同的兩組。即使你為cal()里的h,l賦值,那麼返回到main()時,h,l仍然為0.

3:你在cal()里的scanf寫的不好。兩個%d之間最好什麼都沒有,加了逗號,可能會在讀取時,h,l賦值錯誤。(具體請看我下面的程序)



下面是我的解法:

先問一下,你用的是TC2.0還是VC6.0?

如果是VC6.0,那麼可以使用引用類型:

/*法一:使用引用*/
#include<stdio.h>
voidcal(int&ch,int&cl);/*聲明ch,cl為引用類型*/
voidmain()
{
inth=0,l=0;
cal(h,l);/*這里將h,l傳入cal()*/
printf("%d,%d",h,l);
}
voidcal(int&ch,int&cl)
{
scanf("%d%d",&ch,&cl);/*這里為ch,cl賦值*/
}

TC2.0中好像不支持引用類型。我沒測試。

-------------------------

如果是TC2.0,那麼可以使用指針:

/*法二:使用指針*/
#include<stdio.h>
voidcal(int*ph,int*pl);/*這里將ph,pl聲明為指針*/
voidmain()
{
inth=0,l=0;
cal(&h,&l);/*將變數h,l地址傳過去。*/
printf("%d,%d",h,l);
}
voidcal(int*ph,int*pl)
{
scanf("%d%d",ph,pl);/*為ph,pl賦值*/
}

------------------

以上兩種方法都可以解決你說的問題。


有問題請追問。

⑶ 為什麼會輸出錯誤,關於用c語言自定義函數cal(x,n)計算x^n/n!的結果

根據你題目的意思,這段C語言代碼有以下幾個問題:

第一:你題目說是要計算x^n/n!,你看下圖片4處,這是計算的累加和,可不是你題目說的意思,好看看是你寫錯了還是怎麼樣。

第二:圖中1/2處這兩個自定義函數返回值都是int,然後你在cal函數用一個double去接收兩個整數相除的結果,要注意整數/整數=整數,這個過程會把小數直接丟去,你看看你是不是不想要小數。

第三:需要注意,int能表示的階乘有限,也就是說n不能太大,大概14應該就超過范圍了,建議換成double類型的,這樣你的第二個問題也解決了。