数学函数POW问题~

来源:百度知道 编辑:UC知道 时间:2024/05/07 04:15:03
我想把一个四位数的各个位数存入一个数组a中
程序如下
#include<math.h>
main()
{
int a[4],t,i,m,j,n;
clrscr();
n=4378;
for(i=3;i>=0;i--)
{
for(j=3,m=4;m>0;j--,m--)
{
a[i]=n/(pow(10,j));
n=n%pow(10,j);
}
}
for(i=0;i<4;i++)
printf("%d\t",a[i]);
}
但是一直跳出LLLegal use of floating point in function main
这到底是为什么?

#include<stdio.h>
#include<math.h>
void main()
{
int a[4],t,i,m,j,n;
clrscr();
n=4378;
for(i=3;i>=0;i--)
{
a[i]=n/(int)(pow(10,i));
n=n%(int)(pow(10,i));
}
for(i=0;i<4;i++)
printf("%d\t",a[i]);
getch();
}

什么乱七八糟的!
头文件不加 #include<stdio.h>到哪里去了?
n=n%pow(10,j); 老兄,pow返回的是double型的,不出错才怪!
双重循环干什么用?不会boring到这种程度吧!
main前面的void呢?

存这个数组不用这么麻烦吧

int a[4],i=4,n=4378;
while(n/10)
{
a[i--]=n%10;
n=n/10;
}

数组是整型的 n/(pow(10,j))是整型的吗?