当前位置: 代码迷 >> C语言 >> 函数的嵌套.求助.
  详细解决方案

函数的嵌套.求助.

热度:188   发布时间:2007-01-06 03:44:40.0
函数的嵌套.求助.

想实现i个数相加,当i为偶数时再加2,为基数再加1
我输出的时候答案是错的
#include<Stdio.h>
#include<math.h>
main()
{ int i;
printf("i=:");
scanf("%d",&i);
printf("sum=%d",sum(i));
}
int sum(i)
{int add=0;
int n;
for(n=0;n<i;n++)
add+=num(n);
return add;
}
int num(i)
{int temp;
if(i==0)
temp=0;
else if(i%2==0)
temp=i+2+num(i-1);
else
temp=i+1+num(i-1);
return temp;
}

搜索更多相关的解决方案: 嵌套  函数  

----------------解决方案--------------------------------------------------------
  呵呵.
对不起啊.已经解决了.
   多了一个函数的调用
  只要一个就完成了.
 我刚看完函数想故意考下自己.
想用一个嵌套+递归
  结果还是一个嵌套就完了..

----------------解决方案--------------------------------------------------------

#include "stdio.h"
#include "conio.h"
int sum(int i)
{ int s=0;
switch(i%2)
{ case 0 : s=i+sum(i-1)+2;
case 1 : s=i+sum(i-1)+1;
}
return s;
}
main()
{

printf("%d",sum(5));
getch();
}


----------------解决方案--------------------------------------------------------

#include <iostream>
using namespace std;
int num(int );
main()
{ int i;
printf("i=:");
scanf("%d",&i);
printf("sum=%d",num(i));
system("PAUSE");
}

int num(int i)
{int temp;
if(i==0)
temp=0;
else if(i%2==0)
temp=i+2+num(i-1);
else
temp=i+1+num(i-1);
return temp;

}


----------------解决方案--------------------------------------------------------
3楼的遍的比较的好
----------------解决方案--------------------------------------------------------
楼上的同学!请问你是??
UESTC??
----------------解决方案--------------------------------------------------------
UESTC?
这是什么?
----------------解决方案--------------------------------------------------------

#include "stdio.h"
#include "conio.h"
int s=0;
int sum(int i)
{
if(i!=1) /*1不是偶数,也不是奇数 */
{if(i&1)
s+=i+1;
else
s+=i+2;
sum(--i);}
return s;

}
int main(void)
{

printf("%d",sum(7));
getch();
return 0;
}


----------------解决方案--------------------------------------------------------
  相关解决方案