很多初学C语言的人,一开始都会有求和以及求积的程序,如果用简单的将输入的数一个个加起来那样是很繁琐的,当然效率是高的,但是程序看起来非常不简洁!如果你学习用递归方式求解,你会发现一切都是那么简单!下面的例子就是用递归方式求和以及求积。
#include<stdio.h>
#include<stdlib.h>
#define N 10
float g(float a[],int n); /*求和函数*/
float f(float a[],int n); /*求积函数*/
/*为了保证正确度,所有的类型都用浮点型表示,虽然这多消耗了内
存,但能得到更正确的结果,所以这是值得的*/
int main()
{
float x[N+1],y[N+1],sum,num;
int i;
x[0]=1,y[0]=0; /*零位不用,置一*/
for(i=1;i<=N;i++){
printf("please input a type of float :\n");
scanf("%f",&x[i]);
}
for(i=0;i<=N;i++){
y[i]=x[i];
}
num=g(x,N);sum=f(y,N);