我这个C语言程序为何无法运行呢

#include<stdio.h>intmain(void){floata;floatb=0;for(a=1;a>=(1.0/100);a=1.0/a++){b=b+a;... # include <stdio.h>

int main(void)
{
float a;
float b = 0;

for (a = 1;a >= (1.0/100);a=1.0/a++)
{
b = b + a;
printf("b= %f\n", b);
}

printf("b= %f\n", b);

return 0;
}
我这个想做出1+1/2+1/3+……+1/100的效果
展开
 我来答
fhtsnb
2012-05-08
知道答主
回答量:12
采纳率:0%
帮助的人:16.3万
展开全部
你想要的效果是
a: 1 2 3 4 5 6 ....100
而你在循环里写的是 a=1.0/a++;
a=1.0/1=1.0
a=1.0/2=0.5
可以看到 a 的值 实际已经超出了你的设想了
所以产生了无限的循环
游戏虾扯淡
2012-05-08 · TA获得超过566个赞
知道小有建树答主
回答量:635
采纳率:0%
帮助的人:176万
展开全部
# include <stdio.h>

int main(void)
{
int a;
float b = 0;
for (a = 1;a<=100;a++)
{
b = b + (float)1/a;//感觉这样写直观一点 测试没问题
//printf("b= %f\n", b);
}

printf("b= %f\n", b);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a530791614
2012-05-08 · 超过27用户采纳过TA的回答
知道答主
回答量:98
采纳率:0%
帮助的人:91万
展开全部
a=1.0/a++ 这是错的
# include <stdio.h>
int main(void)
{
int i;
double sum = 0;
for ( i = 1 ; i <= 100 ; i++ )
{
sum += 1.0/i;
}
printf("sum = %lf\n",sum);
return 0;
}
简单写了下, 没测
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帅气还飘然的榜眼01
2012-05-08 · TA获得超过282个赞
知道答主
回答量:226
采纳率:50%
帮助的人:152万
展开全部
# include <stdio.h>

int main(void)
{
int i;
float sum = 1.0;

for (i = 2; i <= 100; i++)
sum += 1.0/i;

printf("sum= %f\n", sum);

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宿管大爷一
2012-05-08
知道答主
回答量:39
采纳率:100%
帮助的人:17.5万
展开全部

最简单的算法:如图

已经过测试

望采纳~~~

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
善良的SIMPLE
2012-05-08 · 超过11用户采纳过TA的回答
知道答主
回答量:185
采纳率:0%
帮助的人:98.8万
展开全部
a=1.0/a++,未知不好赋值给未知
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式