#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 关注
- 166 浏览
添加回答
举报
0/150
提交
取消