本題要求實現一個用遞歸計算1+2+3+…+n的和的簡單函數。
函數接口定義:
int sum( int n );
該函數對於傳入的正整數n
返回1+2+3+…+n
的和;若n
不是正整數則返回0。題目保證輸入輸出在長整型范圍內。建議嘗試寫成遞歸函數。
裁判測試程序樣例:
#include <stdio.h>
int sum( int n );
int main()
{
int n;
scanf("%d", &n);
printf ("%d\n", sum(n));
return 0;
}
/* 你的代碼將被嵌在這里 */
輸入樣例1:
10
輸出樣例1:
55
輸入樣例2:
0
輸出樣例2:
0
#include<stdio.h> int sum(int n); int main() { int n; scanf("%d",&n); printf("%d",sum(n)); return 0; } int sum(int n) { int result; if(n<=0) result=0; else if(n==1) result=1; else result=sum(n-1)+n; return result; }