C语言 输入一个正整数repeat(0<repeat<10),做repeat次下列运算: 读入一个正整数n(n<=100),

计算并输出1+1/2+1/2+……+1、n(保留三位小数)以下是本人编的程序,为什么运行结果不正确?#include<stdio.h>intmain(void){intr... 计算并输出1+1/2+1/2+……+1、n(保留三位小数)
以下是本人编的程序,为什么运行结果不正确?
#include<stdio.h>
int main(void)
{
int repeat,n,i,denominator;
double sum,item;
scanf("%d",&repeat);
if(repeat>0&&repeat<10)
{
printf("Enter n:");
scanf("%d",&n);
denominator=1;
sum=0;
for(i=1;i<=n;i++){
item=1/denominator;
sum=sum+item;
denominator=denominator+1;
}
printf("sum=%f\n",sum);
}

return 0;
}
展开
 我来答
小夏聊生活
高能答主

2019-12-07 · 专注于分享生活知识,热爱生活
小夏聊生活
采纳数:447 获赞数:114612

向TA提问 私信TA
展开全部

源代码如下:

#include <stdio.h>void sign(int x)

{

if (x > 0)

{

printf("sign(%d)=1\n", x);

}

else if(x < 0)

{

printf("sign(%d)=-1\n", x);

}

else

{

printf("sign(%d)=0\n", x);

}

void main()

{

int num = 0, x;

int i;

scanf("%d", &num);

for (i = 0; i < num; i++)

 {

scanf("%d", &x)

sign(x);

}

扩展资料

1、repeat循环是一种无条件循环,它需要在循环体中设置终止条件,并使用break语句进行退出。

2、repeat结构控制方式比较特别,当进入循环体后,直到until条件为真时才结束,而其它语言的do-while是当条件为假时才结束循环。

ahcc08
推荐于2017-10-03 · 知道合伙人软件行家
ahcc08
知道合伙人软件行家
采纳数:11853 获赞数:51939
拥有丰富的软件开发经验。

向TA提问 私信TA
展开全部
#include<stdio.h>
int main(void)
{
    int repeat,n,i,denominator;
    double sum,item;
    scanf("%d",&repeat);
    //  这里要用循环
    // if(repeat>0&&repeat<10)
    while (repeat>0 && repeat<10)
    {
        printf("Enter n:");
        scanf("%d",&n);
        denominator=1;
        sum=0;
        for(i=1;i<=n;i++){
            // 这里不能用整型直接相除
            item=1.0/denominator;
            sum=sum+item;
            denominator=denominator+1;
        }
        // 保留三位小数
        printf("sum=%0.3lf\n",sum);
        repeat--;
    }

    return 0;
}

运行结果:

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式