c语言m的n次方
‘壹’ c语言中如何表示m的n次方,并且m和n都可以很大,也就是说存在数值溢出的情况,怎么办
你可以自定义一个结构体类型
struct结构体标签{
变量类型1变量名1;
变量类型2 变量名2
}结构体名。
struct 是关键字 不能修改 。结构体标签 和结构体名可以自定义
比如
这个方法可以直接存储M和N.没有求出他的具体值
‘贰’ 求出m的n次方 c语言递归
return m*func(m,n-1);
sum = func(m,n);
‘叁’ 求问m的n次方的c语言程序
#include <stdio.h>
#include <math.h>
void main()
{
int m,n,s,i;
s=1;
printf("请输入m\n");
scanf("%d",&m);
printf("请输入n\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
s=s*m;
}
printf("m的n次方为%d\n",s);
}
‘肆’ 求m的n次方 C语言 咋不对
把m=m*m;改成s=s*m;。
把printf("m的n次方为%d ",m);改成printf("m的n次方为%d ",s);。
‘伍’ 用C语言表示M的N次方
main()
{
double
a,M,N,sum=1,;
scanf("%f,%f",&M,&N);
for(a=1;a<=(int)N;a++)
sum=sum*M;
printf("s=%f",sum);
}
由于不是整型,所以不能用pow(a,b)来搞,如果要求M的N次方,N必须是整型的才行,所以必须强制转换成整型.~
‘陆’ c语言中m的n次方表示方法
这是一个实例,函数cm就是表示x的n次方。
代码如下:
#include
float
cm(float
x,int
n)
{
if(n==1)
return
x;
else
return
x*cm(x,n-1);
}
void
main()
{
int
n;
float
x;
scanf("%d",&n);//n;
scanf("%f",&x);//x;
printf("x的%d次方是:%f",n,cm(x,n));
}
‘柒’ c语言 计算m的n次方 要求输入m、n 输出m的n次方
#include<stdio.h>
void main()
{
int m,n,i,sum=1;
printf("请输入底数m(m>0)\nm=");
scanf("%d",&m);
if(m>0)
{
printf("\n请输入幂次n\nn=");
scanf("%d",&n);
if(n>0)
{
for(i=1;i<=n;i++)
sum*=m;
printf("%d 的 %d 次幂等于 %d \n",m,n,sum);
}
}
}
已在VC检测
‘捌’ C语言中用函数表示m的n次方
这是一个实例,函数cm就是表示x的n次方。
代码如下:
#include <stdio.h>
float cm(float x,int n)
{
if(n==1)
return x;
else
return x*cm(x,n-1);
}
void main()
{
int n;
float x;
scanf("%d",&n);//n;
scanf("%f",&x);//x;
printf("x的%d次方是:%f",n,cm(x,n));
}
‘玖’ 用c语言计算m的n次方,我用的pow函数,可是为什么不能计算高次方呢,比如8的17次方,结果是0,求解释
那是因为你用来接收计算结果的变量类型定义有问题,定义成double就行了。
只有double能装下这个值。
‘拾’ 编写一个函数,计算一个整数m的n次幂,在主函数中输入m和n,并在主函数中输出计算结果 用C语言
代码:
#include<stdio.h>
int main()
{
int m,n;
int s=1;
int power(int a,int b);
scanf("%d %d",&m,&n);
printf("%d",power(m,n));
}
int power(int a,int b)
{
int t=1;
if(b==1)
t=a;
else
t=a*power(a,b-1);
return(t);
}
(10)c语言m的n次方扩展阅读:
运行结果:
递归方法代码:
#include <stdio.h>
int mton(int m, int n) {
if (n == 1) return m;
else {
return m * mton(m, n - 1);
}
}
int main() {
printf("%d ", mton(2, 3));
//system("pause");
return 0;
}