#include<stdio.h>int main(){int n;int a,i;double sum;scanf("%d",&n);while(n--){sum=0;scanf("%d",&a);for(i=1;i<=a;i++){if(i%2==0){sum=sum-1.0/i;}else{sum=sum+1.0/i;}}printf("%.2lf\n",sum);}return 0;}
1 回答

慕的地8271018
TA貢獻1796條經驗 獲得超4個贊
while函數在 C 中的用法:
while(<條件>)
{
需執行的代碼;
}
根據原題,這里的n指的是測試實例的個數。而“n--”不妨理解為以下(偽)代碼:
int operation--(int x)
{
int temp = x;
x = x - 1;
return temp;
}
因此while(n--)實際上與以下代碼在幾乎一切情況下等價:
for(int i = 0; i != n; ++i)
也就是循環執行n次的意思。
這里用前者而非后者,是因為很多信息競賽選手希望代碼更加簡單(但可讀性不一定強)。
但這種用法只在 n 不會被重復使用時才能被用。如果有多組循環要用到 n ,還是用后者吧。
- 1 回答
- 0 關注
- 195 瀏覽
添加回答
舉報
0/150
提交
取消