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;
} 展开
以下是本人编的程序,为什么运行结果不正确?
#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;
} 展开
2个回答
展开全部
源代码如下:
#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是当条件为假时才结束循环。
展开全部
#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;
}
运行结果:
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询