| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 516 人关注过本帖, 1 人收藏
标题:关于调用函数的问题
只看楼主 加入收藏
孙娜娜
Rank: 2
等 级:论坛游民
帖 子:49
专家分:22
注 册:2012-3-5
结帖率:93.75%
收藏(1)
已结贴  问题点数:12 回复次数:6 
关于调用函数的问题
编写函数,计算如下公式
1-1/2+1/3-1/4+1/5-1/6+1/7……+(-1)的(n+1)次乘以1/n,根据输入n的值,输出结果
程序如下:#include<stdio.h>
double sum(double s,int i);
main()
{int i,n,q=-1;
 double s=0;
 scanf("%d",&n);
 printf("dang n=%d shi jieguo wei\n",n);
 for(i=1;i<=n;i++){q=-q;    i=q*i;   sum(s,i);}
 printf("%f",s);
return 0 ;
}
double sum(double s,int i)
{
 
 s=s+1/i;
     
 return s;
}
可是无法运行,360提示有木马,这是怎么个情况,不知程序哪里错了,请指点,
还有好点的程序吗,借鉴一下……
搜索更多相关主题的帖子: double 函数 
2012-03-13 21:04
于祥
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1047
专家分:4132
注 册:2011-4-24
收藏
得分:4 
程序代码:
#include<stdio.h>
double sum(double s);
int main()

 {
   int n;

 
   scanf("%d",&n);
   printf("dang n=%d shi jieguo wei\n",n);

 
   printf("%lf\n",sum(n));

 
   return 0 ;

 }
double sum(double s)

 {
     int i,q = 1,tn;
     double n = 0;

    for(i = 1;i <= s;i++)
    {
        tn = q * i;
        n = n + 1.0 / tn;
        q = -q;  
    }
    return n;

 }

这个怎么样?按你的改的

最基础的往往是你最容易忽略的!
2012-03-13 22:06
yuhaihua200
Rank: 2
等 级:论坛游民
帖 子:14
专家分:19
注 册:2012-3-13
收藏
得分:4 
回复 2楼 于祥
请教楼上,你为什么要加return 0啊?这个加不加无所谓吧是不是?main都是主函数了,返回值返回哪呢?
我是初学者。。。不要见怪哈
2012-03-13 22:25
笨坦克
Rank: 2
等 级:论坛游民
帖 子:34
专家分:35
注 册:2012-3-7
收藏
得分:4 
回复 3楼 yuhaihua200
main函数前不注明返回制类型时默认为int型,另外int也说明变量是整数型的
2012-03-13 23:08
孙娜娜
Rank: 2
等 级:论坛游民
帖 子:49
专家分:22
注 册:2012-3-5
收藏
得分:0 
回复 2楼 于祥
恩,谢谢,不过我想知道我写的程序问题出在哪里,为什么运行不了……
2012-03-14 20:48
于祥
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1047
专家分:4132
注 册:2011-4-24
收藏
得分:0 
回复 3楼 yuhaihua200
你main函数前规定了int类型就必须有返回值,所以返回一个0,如果是void main()就不用return 0;

最基础的往往是你最容易忽略的!
2012-03-17 20:44
于祥
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1047
专家分:4132
注 册:2011-4-24
收藏
得分:0 
回复 5楼 孙娜娜
程序代码:
#include <stdio.h>
double sum(double s,int i);
int main()

 {
     int i,n,q = -1,b;
    double a = 0;
      scanf("%d",&n);
    printf("dang n=%d shi jieguo wei\n",n);
    for(i = 1;i <= n;i++)
    {
        q = -q;
        b = q * i; //这里不能是i = q * i,这句过后,i还要进行个i++,不是我们要的结果
        a = sum(a,b);//这里不能直接就是一个sum(a,b);
    }
    printf("%lf",a);

    return 0 ;

 }

 double sum(double s,int i)

 {

 s = s + 1.0 / i;
    

 return s;

 }

最基础的往往是你最容易忽略的!
2012-03-17 20:53
快速回复:关于调用函数的问题
数据加载中...
 
   



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

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