❶ 在c语言中如何计算一个数的幂的方法有哪些
整数的话最简单的办法就是将一个给定到数连乘n次;以计算a到n次幂为例:
#include"stdio.h"
main()
{
double a,temp;
int n,i;
temp=1;
printf("请输入底数:");
scanf("%d",&a);
printf("请输入指数:");
scanf("%d",&n);
for(i=0;i<n;i++);
{
temp=temp*a;
}
printf("%f",temp);
}
这种方法只适用与指数n为>=0的整数;如果涉及分数或负数要用到数学函数#include"math.h"
❷ C语言程序:将一个正整数分解成若干素数的幂次方的乘积
//代码如下,不明确的欢迎追问
#include <stdio.h>
#include <stdlib.h>
int main()
{
int N,n,p,e,fir;
scanf("%d", &N);
n=N;
fir=1;//判断是不是第一项。fir=1表示是第一项
printf("%d = ",n);
for(p=2;p<=N;p++)
{
e=0;
while(N%p==0)
{
N/=p;
e++;
}
if(!e) continue;
if(fir) fir=0;//第一项还没输出,这里遇到第一项,标志设为0
else printf("*");//不是第一项,则先输出'*'
printf("%d^%d",p,e);
}
printf("\n");
return 0;
}
❸ 如何用C语言编写幂运算的代码
#include"stdio.h"
#include"math.h"
intmain()
{
floata,b;
printf("请输入整数:");
scanf("%f",&a);
printf("请输入幂:");
scanf("%f",&b);
printf("结果:%g ",pow(a,b));
}
❹ 给出一行C语言表达式,判断给定的整数是否是一个2的幂
一个数n
若(n&(n-1))==0则n是2的幂
❺ c语言编程中如何输入幂次方
1、头文件:#include
2、原型:
double pow(double x, double y);
pow() 函数用来求 x 的 y 次幂(次方)
pow()用来计算以x 为底的 y 次方值,然后将结果返回。设返回值为 ret,则 ret = xy。
3、举例如下:
double a = pow(4, 2); // 计算4的平方
4、可能导致错误的情况:
如果底数 x 为负数并且指数 y 不是整数,将会导致 domain error 错误。
如果底数 x 和指数 y 都是 0,可能会导致 domain error 错误,也可能没有;这跟库的实现有关。
如果底数 x 是 0,指数 y 是负数,可能会导致 domain error 或 pole error 错误,也可能没有;这跟库的实现有关。
如果返回值 ret 太大或者太小,将会导致 range error 错误。
错误代码:
如果发生 domain error 错误,那么全局变量 errno 将被设置为 EDOM;
如果发生 pole error 或 range error 错误,那么全局变量 errno 将被设置为 ERANGE。
注意:1、使用pow函数时,需要将头文件#include包 含进源文件中。
2、用pow(x,y)的话要用到math.h头文件。
(5)整数幂c语言程序框图扩展阅读:
1、 三角函数: double sin (double);正弦 double cos (double);余弦 double tan (double);正切
2 、反三角函数: double asin (double); 结果介于[-PI/2, PI/2] double acos (double); 结果介于[0, PI] double atan (double); 反正切(主值), 结果介于[-PI/2, PI/2] double atan2 (double, double); 反正切(整圆值), 结果介于[-PI/2, PI/2]
3 、双曲三角函数: double sinh (double); double cosh (double); double tanh (double);
4 、指数与对数: double exp (double); double sqrt (double);开平方 double log (double); 以e为底的对数 double log10 (double);以10为底的对数 double pow(double x, double y);计算以x为底数的y次幂 float powf(float x, float y); 功能与pow一致,只是输入与输出皆为浮点数
5 、取整: double ceil (double); 取上整 double floor (double); 取下整
6 、绝对值: double fabs (double);求绝对值 double cabs(struct complex znum) ;求复数的绝对值
7 、标准化浮点数: double frexp (double f, int *p); 标准化浮点数, f = x * 2^p, 已知f求x, p ( x介于[0.5, 1] ) double ldexp (double x, int p); 与frexp相反, 已知x, p求f
8 、取整与取余: double modf (double, double*); 将参数的整数部分通过指针回传, 返回小数部分 double fmod (double, double); 返回两参数相除的余数
9 、其他: double hypot(double x, double y);已知直角三角形两个直角边长度,求斜边长度 double ldexp(double x, int exponent);计算x*(2的exponent次幂) double poly(double x, int degree, double coeffs [] );计算多项式 nt matherr(struct exception *e);数学错误计算处理程序
❻ c语言 整数幂
#include<stdio.h>
#include<math.h>
int main(){
long a,b,c,d,e,f,g,h,i; /* 使用long*/
scanf("%ld %ld %ld",&a,&b,&c);
d=a*a;
e=b*b;
f=c*c;
g=pow(a,3);
h=pow(b,3);
i=pow(c,3);
printf("%-9ld%-9ld%-9ld\n%-9ld%-9ld%-9ld\n%-9ld%-9ld%-9ld\n",a,b,c,d,e,f,g,h,i); /*注意打印顺序*/
return 0;
}
❼ C语言中计算数值的整数次幂
scanf的函数原型为
int scanf( const char *format
[,argument]... );
它的返回值是这样的,假如都输入成功,输入几个变量,返回值就是几。
例如:result = scanf( "%d %f %c", &i, &fp, &c );.都输入成功的话,result == 3.
while (scanf ("%lf%d",&x,&exp)==2)这句话就是指如果两个数都输入正确则执行while循环。