| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 607 人关注过本帖
标题:这个程序哪里错了?求指教
取消只看楼主 加入收藏
蓝莓
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2014-12-15
结帖率:80%
收藏
已结贴  问题点数:20 回复次数:4 
这个程序哪里错了?求指教
#include "stdio.h"
 double p(double i,double s,double t)
 {
     s=0.0;
     t=1.0;
     for(i=1;i<=99;i++)
      {
        s=s+t/i;
        i+=2;
        t=-t;
      }
      
 }

 void main()
 {
     double j,b,c,ai;
     {
         ai=p(j,b,c);
     }
     printf("π=%f\n",b*4);
 }

这个算出的结果是π=-370238525397871320000000000000000000
但是我要算的是π的值,哪里出错了呢?
搜索更多相关主题的帖子: include double 
2014-12-15 21:48
蓝莓
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2014-12-15
收藏
得分:0 
回复 2楼 TonyDeng
单个return不是可以省略吗?
如果要return的话,那return要返回p还是ai?可是这样写怎么运行都是错的,return是要放在【1】还是【2】?可是如果用p或者ai,不管这两个地方怎么放都是错的。还是说return是要放在主函数里?
#include "stdio.h"
 double p(double i,double s,double t)
 {
     s=0.0;
     t=1.0;
     for(i=1;i<=99;i++)
     {
            s=s+t/i;      
            i+=2;
            t=-t;
         }return();【1】     
}【2】
   

 void main()
 {
     double j,b,c,ai;
     {
         ai=p(j,b,c);
     }
     printf("π=%f\n",b*4);
 }
2014-12-15 22:21
蓝莓
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2014-12-15
收藏
得分:0 
回复 5楼 TonyDeng
可是加了return s;还是不对,结果还是那个错误的值……
因为刚刚开始学函数,老师让我们把以前的方程都改成这样有函数和主函数的。
2014-12-15 23:06
蓝莓
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2014-12-15
收藏
得分:0 
回复 7楼 TonyDeng
嗯,这个是我写错了。我原本是用do……while写的,但是后来改成了for……i++写习惯了
但是把i++改成i+=2,再把下面的i+=2删去……结果还是那个错误的值……
而且用do……while算了半天都没算出来,这应该是错的吧,毕竟这个不是很难算的
2014-12-15 23:35
蓝莓
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2014-12-15
收藏
得分:0 
回复 9楼 TonyDeng
哦哦,好的
谢谢你的指导⊙▽⊙
2014-12-16 00:02
快速回复:这个程序哪里错了?求指教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025877 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved