请问c语言程序运行出现结果p=-1.#IND00是怎么回事,,有好几次出现这样的情况了
#include<stdio.h>floatfun(intm,intn){doublesum1=1,sum2=1,sum3=1;inti,j,k;doublep;for(...
#include <stdio.h>
float fun(int m, int n)
{
double sum1=1,sum2=1,sum3=1;
int i,j,k;
double p;
for(i=1;i<=m;i++)
sum1=sum1*i;
for(j=1;j<=n;j++)
sum2=sum2*j;
for(k=1;k<=m-n;k++)
sum3=sum3*k;
p=sum1/(sum2*sum3);
}
main() /* 主函数 */
{void NONO ();
printf("P=%f\n", fun (12,8));
NONO();
}
void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *fp, *wf ;
int i, m, n ;
float s;
fp = fopen("in.dat","r");
wf = fopen("out.dat","w");
for(i = 0 ; i < 10 ; i++) {
fscanf(fp, "%d,%d", &m, &n);
s = fun(m, n);
fprintf(wf, "%f\n", s);
}
fclose(fp);
fclose(wf);
} 展开
float fun(int m, int n)
{
double sum1=1,sum2=1,sum3=1;
int i,j,k;
double p;
for(i=1;i<=m;i++)
sum1=sum1*i;
for(j=1;j<=n;j++)
sum2=sum2*j;
for(k=1;k<=m-n;k++)
sum3=sum3*k;
p=sum1/(sum2*sum3);
}
main() /* 主函数 */
{void NONO ();
printf("P=%f\n", fun (12,8));
NONO();
}
void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *fp, *wf ;
int i, m, n ;
float s;
fp = fopen("in.dat","r");
wf = fopen("out.dat","w");
for(i = 0 ; i < 10 ; i++) {
fscanf(fp, "%d,%d", &m, &n);
s = fun(m, n);
fprintf(wf, "%f\n", s);
}
fclose(fp);
fclose(wf);
} 展开
2个回答
展开全部
这是一个NAN(not a number)数,代表你的计算出现错误,常见的是除零之类的错误。
参考资料: http://baike.baidu.com/view/409924.htm
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询