练习10-1 使用递归函数计算1到n之和(10 分)
本题要求实现一个用递归计算$1+2+3+\ldots+n$的和的简单函数。
函数接口定义:
该函数对于传入的正整数n
返回1+2+3+…+n
的和;若n
不是正整数则返回0。题目保证输入输出在长整型范围内。建议尝试写成递归函数。
裁判测试程序样例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #include <stdio.h>
int sum( int n );
int main() { int n;
scanf("%d", &n); printf ("%d\n", sum(n));
return 0; }
/* 你的代码将被嵌在这里 */
|
输入样例1:
输出样例1:
输入样例2:
输出样例2:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| #include <stdio.h>
int sum( int n );
int main() { int n;
scanf("%d", &n); printf ("%d\n", sum(n));
return 0; } int sum( int n ) { int s; if ( n == 0) s = 0; else s = n + sum( n - 1); return s; }
|