C语言中,怎样表示M的N次方?
在C语言中, M的N次方,可以有如下几种表示方法:
1、使用标准库函数的pow。形式为
pow(M,N);
使用pow函数需要引用头文件math.h, pow的参数和返回值类型都是double的,所以得到的是近似值。
2、对于要得到精确值的,在C语言中并没有系统函数供使用,只能自己写函数来实现,参考代码如下:
int pow_int(int m, int n)
{
int r=1,i;
for(i = 0; i < n; i ++)//循环执行n次。
r*=m;//每次乘一次m,结果即m的n次方。
return r;//返回结果。
}
使用这种方式,要注意溢出,尤其是当n比较大的时候,很容易出现超出变量表示范围,导致溢出出现。
绛旓細涓句緥锛歞ouble a=pow(3.14,2)璁$畻3.14鐨勫钩鏂广傛敞鎰忥細浣跨敤pow鍑芥暟鏃讹紝闇瑕佸皢澶存枃浠#include<math.h>鍖呭惈杩涙簮鏂囦欢涓2銆佸湪C璇█涓紝10鐨刵娆℃柟鍙互琛ㄧず涓簆ow(10,n)銆傚叾涓璸ow鍑芥暟鍦ㄥご鏂囦欢math.h涓紝鎵浠ヨ皟鐢ㄨ鍑芥暟鐨勬椂鍊欙紝蹇呴』灏唌ath.h鍔犺繘鏉ワ紝鍗#include<math.h>銆傚師鍨嬶細extern float pow(float...
绛旓細float f(int m,int n){ float count; //count鐢ㄦ潵璁板綍姣忎竴姝ョ殑缁撴灉,浠ヨ嚦鏈缁堢粨鏋.if(n>1) count=f(m,n-1)*m; //涓姝ヤ竴姝ョ殑鎶妋涔樹笂鍘;姣忎箻涓姝ラ兘n-1.鐩村埌n鍊间负1鏃朵负姝 if(n==1) count=m; //濡傛灉鍒濆鏃秐鍊间负1,鐩存帴杈撳嚭m鍊 return count;} ...
绛旓細C璇█涓璁$畻涓涓暟鐨凬娆℃柟鍙互鐢ㄥ簱鍑芥暟pow鏉ュ疄鐜般傚嚱鏁板師鍨嬶細double pow(double x, double y)銆備唬鐮佸涓嬶細include <stdio.h> include <math.h> int main( ){ printf("%f",pow锛坸锛寉)锛夛紱return 0锛泒 娉細浣跨敤pow鍑芥暟鏃讹紝闇瑕佸皢澶存枃浠#include<math.h>鍖呭惈杩涙簮鏂囦欢涓傘...
绛旓細i++){result_data = result_data*radix;}return result_data;}int main(){double radix; int n;printf("搴曟暟鏄紵->");scanf("%lf", &radix);//杩欓噷printf("鎸囨暟鏄紵->");scanf("%d", &n);printf("%f鐨%d娆℃柟鏄%f銇с仚銆俓n", radix, n, power(radix, n));return 0;} ...
绛旓細鏈枃浠C璇█涓轰緥锛屼笉鐢ㄩ掑綊鏂瑰紡缂栫爜濡備笅锛歩nclude<stdio.h> long fun1(int n){ if(n<=1) return 1;return fun1(n-1)*n;} long fun2(int n){ int i;long m=1;for(i=1; i<=n; ++i)m*=i;return m;} int main(){ printf("%ld\n",fun1(9));printf("%ld\n",fun2(9)...
绛旓細1銆佷娇鐢╒B缂栫▼锛岀▼搴忓涓嬶細Private Sub Command1_Click()Dim n As Integer,i As Integer,s As Single,m As Integer n = Val(Text1.Text)For m = 1 To n i = 3 ^ (m - 1)s = s + i Exit For Next m Text2.Text = s End Sub 2銆佷娇鐢C璇█缂栧啓锛岀▼搴忓涓嬶細int mn(int m,...
绛旓細// N>0,M>0 #include<stdio.h> #include<math.h> void main() { int m,n; double p,s; int i; printf("璇疯緭鍏ユ暣鏁癿鍜n娆℃柟:"); scanf("%d%d",&m,&n); for(p=1.0;p<=sqrt(m);p+=0.000001) { s=1.0; for(i=0;i<n;i++) s*=p; if(m-s<1e-6)...
绛旓細1.int newpow(int m,int n);//姹m鐨刵娆℃柟 杩欎釜鏄綘鐨勬敞閲婃妸锛涗綘鐪熸鐨勮皟鐢ㄥ湪printf鎶娿2.printf("The reslut is :%d\nThe count is :%d",newpow(m,n),count);//涓轰粈涔堣繖閲岀殑count鍙細杈撳嚭 printf瑙勫垯锛屽厛count锛屽湪newpow(m,n),鎵浠ヤ綘娌¤皟鐢╪ewpow,鎵浠ount=0;...
绛旓細C璇█涓璁$畻涓涓暟鐨凬娆℃柟鍙互鐢ㄥ簱鍑芥暟pow鏉ュ疄鐜般傚嚱鏁板師鍨嬶細double pow(double x, double y)銆備妇渚嬪涓嬶細double a = pow(3.14, 2); // 璁$畻3.14鐨勫钩鏂广傛敞锛氫娇鐢╬ow鍑芥暟鏃讹紝闇瑕佸皢澶存枃浠#include<math.h>鍖呭惈杩涙簮鏂囦欢涓
绛旓細娌℃湁锛屼絾鏈変箻鏂瑰嚱鏁锛孋璇█鏄珮鏁堢巼銆侀珮閫熴佺畝娲侀鏍肩殑璇█锛屽熀鏈娉曚腑涓嶅厑璁告湁鍐椾綑銆佷綆鏁堢殑鎴愪唤锛涗箻鏂圭殑鍔熻兘灏辨槸鐢ㄦ爣鍑嗗嚱鏁板簱瀹炵幇锛#include 锛俶ath.h锛俤ouble y=pow(m,n); // m鐨刵娆℃柟 C璇█鏄竴闂ㄩ氱敤璁$畻鏈虹紪绋嬭瑷锛屽簲鐢ㄥ箍娉涖侰璇█鐨勮璁$洰鏍囨槸鎻愪緵涓绉嶈兘浠ョ畝鏄撶殑鏂瑰紡缂栬瘧銆佸鐞嗕綆绾у瓨鍌ㄥ櫒...