C语言实现计算数的整数次幂
程序分析:
1、while循环。输入1.22,5,scanf()成功读取两值,并返回2,循环继续。
因为scanf()跳过空白,所以可以像输出示例那样,分多行输入。
但是输入q会使scanf()的返回值为0,因为q与scanf()中的转换说明%lf不匹配。
scanf()将返回0,循环结束。
2、现在分析一下与函数相关的内容。
power()函数在程序中出现了3次。
首次出现是:
double power(double n,intp);//ANSI函数原型
这是power()函数的原型,它声明程序将使用一个名为power()的函数。
开头的关键字double表明power()函数返回一个double类型的值。
圆括号中的double n,intp表示power()函数的两个参数。第1个参数应该是double类型的值,第2个参数应该是int类型的值。
第2次出现是:
pow=power(x,exp);//函数调用
程序调用power(),把两个值传递给它。该函数计算x的exp次幂,并把计算结果返回给主调函数。在主调函数中,返回值将被赋给变量xpow。
第3次出现是:
double power(double n,intp)//函数定义
这里,power()有两个形参,一个是double类型,一个是int类型,分别由变量n和变量p表示。
注意,函数定义的末尾没有分号,而函数原型的末尾有分号。
4、power()函数用for循环计算n的p次幂,并把计算结果赋给pow,然后返回pow的值,
如下所示:
return pow;//返回pow的值
求哪一个数的多少次幂函数:*
double power(double n, int p)//函数定义
{
double pow = 1;
for (int i = 0; i < p; i++)
{
pow *= n;
}
return pow;//返回pow的值
}
程序如下:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
double power(double n, int p);//函数原型
int main()
{
double x, xpow;//定义浮点型变量
int exp;//定义变量表示几次方
printf("请输入x,与exp的值:(输入q退出)\n");
while (scanf("%lf%d", &x, &exp) == 2)
{
xpow = power(x, exp);//函数调用
printf("%.2lf的%d次方为:%.5lf\n", x, exp, xpow);
printf("请再次输入x,与exp的值:(输入q退出)\n");
}
return 0;
}
double power(double n, int p)//函数定义
{
double pow = 1;
for (int i = 0; i < p; i++)
{
pow *= n;
}
return pow;//返回pow的值
}
</stdio.h>
输出结果如下:
Original: https://blog.csdn.net/weixin_53590983/article/details/127814265
Author: C的微妙世界
Title: C语言实现计算数的整数次幂
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/653713/
转载文章受原作者版权保护。转载请注明原作者出处!