第1个回答 2011-11-25
#include<stdio.h>
#include<math.h>
void main()
{
int sum(int n);
int k;
printf("请输入一个数字\n");
for(;;)
{
scanf("%d",&k);
if(k<1)
{
printf("请输入一个正确的数字\n");
}
else
break;
}
sum(k);
printf("sum=%d\n",sum(k));
}
int sum(int n)
{
if(n<1)
return(0);
else if(n==1)
return(1);
else
return n+sum(n-2);
}
第2个回答 推荐于2017-10-29
#include<stdio.h>
int f(int i){
int sum=i;
if(i>0) sum+=f(i-2);
return sum;
}
int F(int i){
int sum=i;
if(i>0) sum+=f(i-2);
return sum+1;
}
void main(){
int n,sum;
loop:
printf("请输入一个数:\n");
scanf("%d",&n);
if(n<0) goto loop;
else if(n%2==0) printf("%d\n",sum=f(n));
else printf("%d\n",sum=F(n));
}本回答被提问者采纳
第3个回答 2011-11-25
#include "stdio.h"
int sum(int n)
{
if (n==1||n==2)
return n;
else return n+sum(n-2);
}
void main()
{
int n;
printf("请输入n的值: \n");
scanf("%d",&n);
while (n<=0)
{
printf("输入错误,请重新输入n的值: \n");
scanf("%d",&n);
}
printf("结果为:%d\n",sum(n));
}
计算奇数偶数之和只需一个递归函数就行,程序简单很多,如果你非要用两个的话,很容易,追问一下,我给你
第4个回答 2011-11-25
#include<stdio.h>
int fun(int );
void main()
{
int n,sum;
while(scanf("%d",&n)!=EOF) //直到你输入ctrl+z或者关闭程序才结束
{
if(n<=0)
{
printf("输入有误,请重输");
}
else
{
sum=fun(n);
printf("%d\n",sum);
}
}
}
int fun(int n)
{
int sum=n;
if(n>1)
sum+=fun(n-2);
return sum;
}