
从一个程序员本身考虑问题方面来说:
这2个结果是不同的。
为什么?
1 c=410101010 = 40000
2C= 4POW(10,4) = 4000000
在C与语言中,整数40000和浮点数40000 在不同的系统里有不同存储方法。 另外整数和浮点数肯定是不同的。
所以,请注意数据类型
另外,楼上的为什么说都是一样呢?
请注意看:
int main(int argc, char argv[])
{
float c = 4 pow(10,4); // POW 函数,而且前面是float型
int x = 10, y = 4;
float z;
z = 4 pow(x,y); // 同样是POW函数,而且前面也是float型,
//所以楼上根本没有从本质上帮助你,而且会误导你。
printf("%f\n%f\n", c, z);
return 0;
}
不是POW
函数
问题而是
在优先级的处理上出问题了,对于两处优先级处理上应做如下修改:
#include<stdioh>
#include<mathh>
int
main()
{
int
t=1,i=0,w,d,f;
int
a[20];
long
int
m;
printf("please
input
a
mumber:");
scanf("%ld",&m);
for
(t=1,i=0;t>=0;t++,i++)
{
f=m/((int)pow(100,(double)t));//此处优先级
有问题
,此为参考调整
d=(int)(((m%((int)pow(100,(double)t)))/pow(100,(double)(t-1))));
//上面这条
语句
也有优先级问题,此为参考调整,
if
(f>=1)
a[i]=d;
else
{
w=t;
a[i]=d;
break;}
}
printf("this
number
is
%d
wei
nuber\n",w);
for
(
i=0;i<t;i++)
{
printf("di
%d
shu
is
%d\n",i+1,a[i]);
}
printf("qi
ni
xu
shu
is\n");
for
(
i=0;i<t;i++)
printf("%d",a[i]);
}
调整运行后
没有问题
…………
在C语言中,没有专门的函数来表示平方。
例如对于变量x,其平方可以表示为xx
也可以用pow函数表示,注意:要用pow函数,需要include mathh,而且x为double型。
例如:pow(100,2)表示10的平方,pow(double(x),2)表示x的平方。
扩展资料:
C程序是由一组变量或是函数的外部对象组成的。 函数是一个自我包含的完成一定相关功能的执行代码段。我们可以把函数看成一个“黑盒子”,你只要将数据送进去就能得到结果,而函数内部究竟是如何工作的,外部程序是不知道的。
外部程序所知道的仅限于输入给函数什么以及函数输出什么。函数提供了编制程序的手段,使之容易读、写、理解、排除错误、修改和维护。
C程序中函数的数目实际上是不限的,如果说有什么限制的话,那就是,一个C程序中必须至少有一个函数,而且其中必须有一个并且仅有一个以main为名的函数,这个函数称为主函数,整个程序从这个主函数开始执行。
-C语言
#include <stdioh>
void main()
{
int a; //底数
int b; //指数
int i,j;
printf("输入底数:");
scanf("%d",&a);
printf("输入指数:");
scanf("%d",&b);
j=1;
for(i=0;i<b;i++)
j=a;
printf("结果为%d\n",j);
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)