我是这样写的:#include <iostream>
using namespace std;
int dst(int x)
{int y;
y=x*x;
return y;
}
int main ()
{int sum,a=1,n;
cin>>n;
if(a<=n)
sum+=dst(a++);
cout<<sum;
return 0;
}
c++,用递归法求平方和,即1*1+2*2+3*3。。。
答案:6 悬赏:30 手机版
解决时间 2021-04-24 06:33
- 提问者网友:沉默的哀伤
- 2021-04-24 02:50
最佳答案
- 五星知识达人网友:骨子里都是戏
- 2021-04-24 04:00
int dst(int x)
{if(x==1)
{
return 1;
}
else
{
return dst(x-1)+x*x;
}
}
这样才是递归函数。
主函数就
int main()
{
int sum,int n;
cin>>n;
sum=dst(n);
cout<<sum;
return 0;
}
全部回答
- 1楼网友:狂恋
- 2021-04-24 09:30
#include <iostream>
using namespace std;
int dst(int x) { int y; if(x==1) return x*x; else y=x*x+dst(x-1); return y; }
int main () { int sum,n; cout<<"putin:"; cin>>n; sum=dst(n); cout<<sum;
return 0; }
- 2楼网友:鸽屿
- 2021-04-24 08:47
关键是没有循环语句,可以将:
if(a<=n) sum+=dst(a++); 改成:
sum=0;
for(a=1;a<=n;a++)
sum=sum+dst(a);
- 3楼网友:污到你湿
- 2021-04-24 07:31
你用的这个不是递归法
你的原算法有一点儿问题:
if(a<=n) sum+=dst(a++); 应当改为:
sum=0;
for(int i=1; i<=n; ++i)
sum+=dst(i);
- 4楼网友:街头电车
- 2021-04-24 06:40
#include <iostream>
using namespace std;
int dst(int x)
{int y;
if(x==1)return 1;
y=x*x;
return y+dst(x-1);
}
int main ()
{int sum=0,n;
cin>>n;
sum+=dst(n);
cout<<sum;
return 0;
}
- 5楼网友:鸠书
- 2021-04-24 05:04
#include <iostream> using namespace std; int dst(int x) {int y; y=x*x; return y; } int main () {int sum,a=1,n; cin>>n; sum=0;//sum赋初值 while(a<=n)//用while循环 sum+=dst(a++); cout<<sum; return 0; }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯