5-7求三种数的和

#include
int main(){
	
	double sum1=0;
	double sum2=0;
	double sum3=0;
	double sum;
	int i;
	for(i=1;i<=100;i++){
		sum1=sum1+i;
	}
	printf("sum1结果是:%15.6f\n",sum1);
	for(i=1;i<=50;i++){
		sum2=sum2+i*i;
	}
	printf("sum2结果是:%15.6f\n",sum2);
	for(i=1;i<=10;i++){
		sum3=sum3+1/i;
	}
	printf("sum3结果是:%15.6f\n",sum3);
	sum=sum1+sum2+sum3;
	printf("sum结果是:%15.6f\n",sum);
	return 0;
}

5-7求三种数的和_第1张图片
看啊,这个代码其实有问题。
因为分数那个,一开始的i是int 那么1/2 , 1/3 这种就会自动取整
所以 sum3结果就是1。

改正:

#include
int main(){
	
	double sum1=0;
	double sum2=0;
	double sum3=0;
	double sum;
	double i;//拒绝 int i;
	for(i=1;i<=100;i++){
		sum1=sum1+i;
	}
	printf("sum1结果是:%15.6f\n",sum1);
	for(i=1;i<=50;i++){
		sum2=sum2+i*i;
	}
	printf("sum2结果是:%15.6f\n",sum2);
	for(i=1;i<=10;i++){
		sum3=sum3+1/i;
	}
	printf("sum3结果是:%15.6f\n",sum3);
	sum=sum1+sum2+sum3;
	printf("sum结果是:%15.6f\n",sum);
	return 0;
}

5-7求三种数的和_第2张图片

你可能感兴趣的:(C语言学习,开发语言,算法,笔记,c语言,学习)