解題思路:這個問題的看似複雜不好寫,實際上越是這種問題越好寫,一共分三部分,一部分一部分寫,最後把所求的三個部分加起來就可以了
原始碼演示:
#include<stdio.h>//標頭檔案 int main()//主函式 { int i,j,k;//定義整型變數,用於迴圈初值和迴圈限制 int sum1=0,sum2=0,sum3=0,sum;// 定義求和變數 for(i=1;i<101;i++)//求1+2+3……+100的和 { sum1=sum1+i; } for(j=1;j<51;j++)//求1*1+2*2+……+50*50的和 { sum2=sum2+j*j; } for(k=1;k<11;k++)//求1/1+1/2+……+1/10的和 { sum3=sum3+1/k; } sum=sum1+sum2+sum3;//最後將上述三個和加起來 printf("(1+2+3…+100)+(1*1+2*2+…50*50)+(1/1+1/2+…+1/10)="); //提示語句 printf("%d\n",sum);//輸出結果 return 0;//函式返回值為0 }
編譯執行結果如下:
(1+2+3…+100)+(1*1+2*2+…50*50)+(1/1+1/2+…+1/10)=47976--------------------------------Process exited after 1.497 seconds with return value 0請按任意鍵繼續. . .
注意for迴圈使用的時候不是巢狀,而是並列,三個for迴圈之間沒有直接聯絡,只是分別求3個和,最後再將3個和相加。
最新評論