输入一个正整数 repeat (0<repeat<10),做repeat 次下列运算:
读入 1 个正整数 n(n<=50),计算并输出1+1/2+1/3+...+1/n (保留3 位小数)。
2 回答
已采纳
SRGSRG
TA贡献4条经验 获得超2个赞
include <stdio.h>
int main()
{
int r,x,i,j;
double sum = 0.0;
scanf("%d",&r);
for(i = 0;i < r;i++)
{
scanf("%d",&x);
for(j = 1;j <= x;j++)
{
sum += (double)1/j;
}
printf("%.3lf",sum);
sum = 0.0;
}
return 0;
}
望远
TA贡献1017条经验 获得超1032个赞
#include <stdio.h> void getSum(int n) { int i; double sum=0; for(i=1;i<=n;i++) { printf("1/%d+",i); sum+=1.0/i; } printf("\b=%.3lf\n",sum); } void main() { int i,n,m; double result; m=n=-1; do{ printf("请输入一个正整数(1-10):"); scanf("%d",&n); if(n<=0||n>10) { printf("数据错误,请重新输入!!\n"); } }while(n<=0||n>10); for(i=0;i<n;i++) { do{ printf("请输入一个正整数(1-50):"); scanf("%d",&m); if(m<=0||m>50) { printf("数据错误,请重新输入!!\n"); } }while(m<=0||m>50); getSum(m); } }
- 2 回答
- 0 关注
- 1171 浏览
添加回答
举报
0/150
提交
取消