Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk mengira eksponen dalam bahasa C

Bagaimana untuk mengira eksponen dalam bahasa C

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBasal
2024-02-25 11:33:06879semak imbas

Bagaimana untuk mengira eksponen dalam bahasa C

Terdapat banyak cara untuk melaksanakan operasi eksponen dalam bahasa C, antaranya dua kaedah yang paling biasa digunakan ialah kaedah gelung dan kaedah rekursif. Berikut akan memperkenalkan setiap satu dan memberikan contoh kod tertentu.

  1. Kaedah gelung melaksanakan operasi eksponen

Kaedah gelung ialah kaedah pelaksanaan yang agak mudah dan intuitif Dengan terus mendarab nombor asas melalui gelung, bilangan eksponen yang lebih tinggi boleh dicapai. Kod khusus adalah seperti berikut:

#include <stdio.h>

double power(double x, int n) {
    double result = 1.0;
    int i;
    
    if (n >= 0) {
        for (i = 0; i < n; i++) {
            result *= x;
        }
    } else {
        n = -n;
        for (i = 0; i < n; i++) {
            result /= x;
        }
    }
    
    return result;
}

int main() {
    double x;
    int n;
    
    printf("请输入底数:");
    scanf("%lf", &x);
    printf("请输入指数:");
    scanf("%d", &n);
    
    printf("%lf 的 %d 次方等于 %lf
", x, n, power(x, n));
    
    return 0;
}

Dalam kod di atas, fungsi power menerima dua parameter, iaitu x asas dan eksponen n , mengembalikan hasil x yang dinaikkan kepada kuasa n. Antaranya, jika n lebih besar daripada atau sama dengan 0, maka x didarab dengan sendirinya n kali melalui gelung jika n adalah kurang daripada 0, kemudian ambil nilai mutlak n dan bahagikan x dengan sendirinya n kali melalui gelung. power 函数接受两个参数,分别是底数 x 和指数 n,返回 xn 次方运算结果。其中,如果 n 大于等于 0,则通过循环将 x 乘以自身 n 次;如果 n 小于 0,则取 n 的绝对值,通过循环将 x 除以自身 n 次。

  1. 递归法实现乘方运算

递归法是利用函数自身调用的特性来实现乘方运算,相对于循环法来说,递归法的代码较为简洁。具体的代码如下所示:

#include <stdio.h>

double power(double x, int n) {
    if (n == 0) {
        return 1.0;
    } else if (n > 0) {
        return x * power(x, n - 1);
    } else {
        return 1.0 / power(x, -n);
    }
}

int main() {
    double x;
    int n;
    
    printf("请输入底数:");
    scanf("%lf", &x);
    printf("请输入指数:");
    scanf("%d", &n);
    
    printf("%lf 的 %d 次方等于 %lf
", x, n, power(x, n));
    
    return 0;
}

在上述代码中,power 函数也接受两个参数,分别是底数 x 和指数 n,返回 xn 次方运算结果。其中,当 n 等于 0 时,返回 1;当 n 大于 0 时,返回 x 乘以自身 n-1 次方的结果;当 n 小于 0 时,返回 1 除以 x-n

    Kaedah rekursif melaksanakan operasi eksponen

    🎜Kaedah rekursif menggunakan ciri-ciri fungsi itu sendiri untuk melaksanakan operasi eksponen Berbanding dengan kaedah gelung, kod kaedah rekursif adalah lebih mudah . Kod khusus adalah seperti berikut: 🎜rrreee🎜Dalam kod di atas, fungsi power juga menerima dua parameter, iaitu x asas dan eksponen n kod >, mengembalikan hasil <code>x yang dinaikkan kepada kuasa n. Antaranya, apabila n sama dengan 0, kembalikan 1 apabila n lebih besar daripada 0, kembalikan x didarab dengan sendirinya n; -1 dinaikkan kepada kuasa; apabila <code>n kurang daripada 0, hasil pembahagian 1 dengan x dinaikkan kepada -n kuasa dikembalikan. 🎜🎜Di atas adalah dua kaedah yang biasa digunakan untuk melaksanakan operasi eksponen dalam bahasa C iaitu kaedah gelung dan kaedah rekursif. Pilih kaedah yang sesuai mengikut keperluan sebenar dan anda boleh melakukan operasi eksponen dengan mudah. 🎜

Atas ialah kandungan terperinci Bagaimana untuk mengira eksponen dalam bahasa C. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn