对应C语言中出现1.#INF00报错的解决方法

1.原因:1.#INF00:出现此报错说明是数值溢出,或者说是除数为0

2.解决方法:增大数的范围,对应除数为0的进行修改。

如:刘汝佳的《算法竞赛入门》2-4解答:

#include <stdio.h>
int main() {
	int n,m,k=1;

	while(scanf("%d%d",&n,&m)!=EOF) {
		double sum=0;
		if(n==m&&n==0)
			break;
		for(int i=n; i<=m; i++) {
			sum=sum+1.0/(i*i);//此处会溢出,报错
		}
		printf("Case %d:%.5lf\n",k++,sum);
	}
	return 0;
}

 将注释处sum=sum+1.0/(i*i)改为sum=sum+1.0/i/i即可.


版权声明:本文为m0_54470017原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。