c语言程序出现问题

c语言程序出现问题#include <stdio.h>
int sum(int);
int fact(int,int,int);
int main ()
{
int a,d,n ;
printf("请输入首项a:");
scanf("%d",&a);
printf("请输入公差d:");
scanf("%d",&d);
printf("请输入项数n:");
scanf("%d",&n);
printf("等差数列的和:%d",sum(n));
return 0;
}
int sum(int m)
{
int i;
int a,d,n;
int total=0;
for(i=0;i<=m;i++)
{
int s=fact(a,d,n);
total+=s;
printf("%d+",i);
}
return total;
}
int fact(int a,int d,int n)
{
int f;
if(n<=0)
{
printf("输入错误!");
}
else if(n==1)
{
f=a;
}
else
{
f=fact(n-1)+d;
}
return f;
}

f=fact(n-1)+d;要改为:
f = fact(a, d, n - 1) + d;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-09
f=fact(n-1)+d; 这行错误
相似回答