C: 对于 (i=0;i<=N;i++) { t[i] = pow(a,0.i); } 总是返回 1
C: for (i=0;i<=N;i++) { t[i] = pow(a,0.i); } ALWAYS returning 1
C 编程:
尝试将 a^i 的值存储在浮点数 table 中,而 (a) 是作为输入的整数变量并且 i = 0,N (N 也是作为输入的整数变量)
使用我创建的这个函数:
void remplissage(double *t,int a,int N)
{
int i;
double aux;
for (i=0;i<=N;i++)
{
t[i] = pow(a,0.i);
}
}
然后显示值:
void affichage(double *t,int N)
{
int i;
for (i=0;i<=N;i++)
{
printf("tab[%d]= %.3f\n", i, t[i]);
}
}
给我这个:
Saisir a: 990
Saisir N= 5
tab[0]= 1.000
tab[1]= 1.000
tab[2]= 1.000
tab[3]= 1.000
tab[4]= 1.000
tab[5]= 1.000
对于我选择的任何 (a) 和 (N)。
删除 i
前面的 0.
(或使用 i / 10.0
作为 pow
的第二个参数——参见注释)。
按照你的方式,指数始终为 0。
实际上,它不是符合标准的代码,因为 i
是一个整数后缀,而 0.
是一个浮点数常量。但是您的编译器似乎无论如何都将其接受为 0。
C 编程: 尝试将 a^i 的值存储在浮点数 table 中,而 (a) 是作为输入的整数变量并且 i = 0,N (N 也是作为输入的整数变量)
使用我创建的这个函数:
void remplissage(double *t,int a,int N)
{
int i;
double aux;
for (i=0;i<=N;i++)
{
t[i] = pow(a,0.i);
}
}
然后显示值:
void affichage(double *t,int N)
{
int i;
for (i=0;i<=N;i++)
{
printf("tab[%d]= %.3f\n", i, t[i]);
}
}
给我这个:
Saisir a: 990
Saisir N= 5
tab[0]= 1.000
tab[1]= 1.000
tab[2]= 1.000
tab[3]= 1.000
tab[4]= 1.000
tab[5]= 1.000
对于我选择的任何 (a) 和 (N)。
删除 i
前面的 0.
(或使用 i / 10.0
作为 pow
的第二个参数——参见注释)。
按照你的方式,指数始终为 0。
实际上,它不是符合标准的代码,因为 i
是一个整数后缀,而 0.
是一个浮点数常量。但是您的编译器似乎无论如何都将其接受为 0。