输入一个正整数 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 关注
- 1330 浏览
添加回答
举报
0/150
提交
取消
