C语言循环系列,求大神
输入一个正整数 repeat (0<repeat<10),做repeat 次下列运算:
读入 1 个正整数 n(n<=50),计算并输出1+1/2+1/3+...+1/n (保留3 位小数)。
2回答
-
SRGSRG
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;}
-
望远
#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);
}
}