c程序設計譚浩強第五版課后習題答案


\(\sum\limits_{k=1}^{100}k\) +\(\sum\limits_{k=1}^{50}{k}^2\) +\(\sum\limits_{k=1}^{10}{\frac{1}{k}}\)

答案解析:

對於\(\sum\limits_{k=1}^{100}k\)而言,指的是求從1到100的和。每個數字為整數,求和也為整數

對於\(\sum\limits_{k=1}^{50}{k}^2\)而言,指的是求從12到502的和。每個數字為整數,求和也為整數。

對於\(\sum\limits_{k=1}^{10}{\frac{1}{k}}\)而言,指的是求從\(\frac{1}{1}\)\(\frac{1}{10}\)的和。每個數字不是整數,求和也不是整數。

綜上所述:求和結果不是整數,所以定義求和變量是需要定義為帶有精度的變量double

該題目,最大的求和是從從1到100,所以需要一個循環,從1遍歷到100。針對第一種情況,則遍歷100次停下來。針對第二種情況,則遍歷50次的時候停下來,針對第三種情況,則遍歷10遍就停下來。

最后,在遍歷每一個數字的時候,針對三種不同的情況求和。最后將三種不同請求的和加起來就是總體的和

代碼示例:

#include <stdio.h>

int main()
{
	double total_sum = 0, sum1 = 0, sum2 = 0, sum3 = 0.0;
	for (int k = 1; k <= 100; k++)
	{
		sum1 += k;
		//遍歷50次就不在執行情況2
		if (k <= 50)
		{
			sum2 += k * k;
		}
		//遍歷10次就不在執行情況3
		if (k <= 10)
		{
			sum3 += 1.0 / k;
		}
	}
	total_sum = sum1 + sum2 + sum3;
	printf("三種情況求和結果為:%lf\n", total_sum);
	return 0;
}

運行截圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM