求数列的和(C++)

来源:百度知道 编辑:UC知道 时间:2024/07/04 07:55:32
题目:
Input
输入数据有多组,每组占一行,由两个整数n(n<10000)和m(m<1000)组成,n和m的含义如前所述。

Output
对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。

Sample Input
81 4
2 2

Sample Output
94.73
3.41
我的【code】:

#include<iostream>
#include<iomanip>
#include<cmath>//<math.h>
using namespace std;
int main()
{
int n, m,i;
float sum,t;
while(cin>>n>>m)
{
sum=n;
for(i=2;i<=m;i++)
{
t=sqrt(float(n));
sum+=t;
float(n)=t;
}
cout<<setiosflags(ios::fixed);
cout<<setprecision(2)<<sum<<endl;
}
return 0;
}
找位大牛帮我看看,到底错在哪里~~
哪位大牛能告诉我为什么我的code是错的。。。。难道for语句里出什么错啦吗。。。

题目描述得不太清楚,但从代码的意思可以猜出来。以下是修改后的程序,已经测试过,结果正确。

#include<iostream>
#include<iomanip>
#include<cmath>//<math.h>
using namespace std;
int main()
{
int n, m,i;
float sum,t,tempsum;
while(cin>>n>>m)
{
sum=tempsum=n;
for(i=1;i<m;i++)
{
t=sqrt(float(tempsum));
sum+=t;
tempsum=t;
}
cout<<setiosflags(ios::fixed);
cout<<setprecision(2)<<sum<<endl;
}
return 0;
}

你是指在已有的二维数组进行求和么?
如果是这样为啥不简单点做呢。建一个新数组利用循环求和赋值就行了。然后输出结果就可以了……我看你写的就头晕了。。。。用.c都简单了

cin>>n>>m 逻辑运算符不能连续比较

"n和m的含义如前所述"
描述在哪里?