用递归函数实现一个累加和函数sum()计算1+2+3+....+k的和
用递归函数实现一个累加和函数sum()计算1+2+3+....+k的和,要求在主函数中输入k的值,调用sum()计算1^k的累加和,在主函数中输出累加和的值...
用递归函数实现一个累加和函数sum()计算1+2+3+....+k的和,要求在主函数中输入k的值,调用sum()计算1^k的累加和,在主函数中输出累加和的值
展开
展开全部
#include "stdio.h"
int sum(int n){
if(n==1)
return 1;
return n+sum(n-1);
}
int main(void){
int k;
while(1){
printf("Input k(int 0<k<=10000)...\nk=");
if(scanf("%d",&k) && k>0 && k<=10000){
printf("The sum of them is %d\n",sum(k));
break;
}
printf("Error, must be 0<k<=10000: ");
fflush(stdin);
}
return 0;
}
展开全部
用递归的方法就必须先自定义一个函数,函数实现递归功能,同时考虑用户输入的合法性
具体代码如下:
#include <stdio.h>
#include<stdlib.h>
#include<math.h>
int sum( int n );
main()
{
int s ; //函数返回值
int n ; //n项和个数
printf("Please input n:");
scanf("%d",&n);
s=sum(n);
//增强函数的健壮性
if(s!=-1)
printf("sum=%d\n",s);
else
printf("data error!\n");
system("pause");
}
//函数功能:用递归法求累加
int sum( int n )
{
int s;
if(n<=0)
s=-1;
else if(n==1)
s=1;
else
s=n+sum(n-1);
return s;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询