c语言如何输入平方

如题所述

变量平方有如下三种常用的输入方法:

1 直接输入法。

这种方法是利用平方的数学定义,直接输入两个相同变量的乘法形式。

比如

int a = 10;

int a2;

a2 = a*a;

这里a2的值就是a的平方。

这种方法的好处是简单明了,而且适用于各种类型。

缺点是如果输入高次方而不是平方,比如输入10次方,就需要连续打10个a相乘,既不易输入,也不容易阅读,还容易出错。


2 利用库函数法。

在math.h中有一个库函数pow,其原型为

double pow(double a, double b);

功能是计算a的b次幂,并返回该结果。

比如这个代码:

#include <math.h>
#include <stdio.h>
int main()
{
    double a = 1.23;
    printf("qrt(a) = %lf\n", pow(a,2));//计算a的平方并输出
    return 0;
}

该方法好处是简单易懂,对于高次幂计算同样输入简单,易于编写,阅读和维护。

缺点是只适用于浮点数,如果用于整型,会在运算中做默认的类型转换,由于精度问题,结果可能会有偏差,适用于精度要求不是太高的情况


3 使用自定义函数。

自己定义求幂函数。该方法可以用于整型求高次幂,当然也可以用于求平方。

从原理上来说,如果修改类型用于做浮点数幂运算也是可以的,不过既然有库函数pow那就没必要用自定义函数了。

参考函数如下

int qrt(int a, int b)//求a的b次幂并返回
{
    int i,r=1;
    for(i = 0; i < b; i ++)
        r *= a;//依次乘b次,即乘方的数学定义
    
    return r;
}

函数类型及返回值根据计算需要的数据规模随时修改,可以为任意整型类型。

这样在计算乘方时可以调用该函数,调用方法和之前介绍的pow函数类似。

该种方法的缺点为需要自己写函数,代码量比前两种都要大。


以上三种方法各有优劣,根据实际需要可以自行选择。如果只是计算平方,那么推荐使用第一种方法。

温馨提示:答案为网友推荐,仅供参考