为了账号安全,请及时绑定邮箱和手机立即绑定

C语言循环系列,求大神

C语言循环系列,求大神

C
满天星17 2016-11-13 17:13:35
输入一个正整数 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;

}



查看完整回答
反对 回复 2016-11-13
  • 满天星17
    满天星17
    要按下面输入和输出 输入 2 2 10 输出 1.500 2.929
?
望远

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);
	}

}

//img1.sycdn.imooc.com//5828349700019c4f06540213.jpg

查看完整回答
2 反对 回复 2016-11-13
  • 2 回答
  • 0 关注
  • 1171 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信