24小时热门版块排行榜    

查看: 508  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

ppqq520

新虫 (小有名气)

[求助] C语言初学者,程序问题求助!

以下一个求级数函数,求到1-1/2+1/3……1/n为止,为什么我用Turbo C 2.0运行不出来呢?求解惑!
#include
#include
main()
{
int n,design,fenmu;
double s1,s2;
printf("please in put a n:\n";
scanf("%d",&n);
design=1;
fenmu=2;
s1=1;
while(fenmu<=n);
{
design=-design;
s2=design/fenmu;
s1=s1+s2;
fenmu=fenmu+1;
}
printf("%f",s1);
}
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ppqq520

新虫 (小有名气)

送鲜花一朵
引用回帖:
5楼: Originally posted by fdesheng at 2012-08-30 20:00:20
当两个都是整数时,计算的实际上是整数商。所以如果你不改的话输出结果永远是1.你可以试下...

soga,如果再揪细点的话,是不是这样理解:基本整型的商,编译系统自动将其转换类型为整型,然后再进行函数里的定义变成浮点型,整个过程经过了两次转化。也就是说虽然最后得出的是浮点型,但是由于第一次转换引起了值的变化,所以最后值是1.000000(浮点型),而不是1(整型),也不是0.*****(程序想要获得的正确浮点数)。这样理解对吗?
6楼2012-08-31 10:51:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

ppqq520

新虫 (小有名气)

.......错误表情,,,,第七行更正下:printf("please in put a n:\n";
2楼2012-08-30 14:27:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ppqq520

新虫 (小有名气)

引用回帖:
2楼: Originally posted by ppqq520 at 2012-08-30 14:27:27
.......错误表情,,,,第七行更正下:printf("please in put a n:\n";

X。。。。。。怎么还是笑脸,,,,笑脸是右边半括弧
3楼2012-08-30 14:28:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fdesheng

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
ppqq520: 金币+20, ★★★★★最佳答案, 多谢指点,根据你的改动,问题已经得道非常准确的解决!另请教为什么两个整数型相除会有问题呢?我按你的把一个改成double就OK了,这是什么原理呢? 2012-08-30 17:24:57
xzhdty: 金币+2, 谢谢参与 2012-08-31 22:43:13
#include
#include
main()
{
int n,fenmu;
double s1,s2,design;
printf("please in put a n:\n";
scanf("%d",&n);
design=1.0;
fenmu=2;
s1=1;
while(fenmu<=n)
{
design=-design;
s2=design/fenmu;
s1=s1+s2;
fenmu=fenmu+1;
}
printf("%f",s1);
return 0;
}

改了下,第一:while后你加了;
            第二:两个int相除有问题,把design改为double类型
4楼2012-08-30 15:02:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见