题目是:输入n,在输入n个数<(2∧31-1)求这n个数的平方和
我的代码:
#include
#include
#include
#include
#include
using namespace std;
long long sum(long long data,int n)
{
long long ans;
ans=0;
for(int i=0;i<n;i++)
ans+=data[i]*data[i];
return ans;
}
int main()
{
long long data[1005];
int n;
while(cin>>n)
{
for(int i=0;i {
cin>>data[i];
}
cout<<sum(data,n)<<endl;
}
return 0;
}
你的sum函数的第一个形参定义成了longlong类型,而不是指针类型,但在main函数中传的是数组的名,相当于传的指针类型,所以形参那里定义成指针类型或者数组类型都可以。
这样?
#include<iostream>
using namespace std;
long long sum(long long *data,int n)
{
long long ans;
ans=0;
for(int i=0;i<n;i++)
ans+=data[i]*data[i];
return ans;
}
int main()
{
long long data[1005];
int n;
while(cin>>n)
{
for(int i=0;i <n;i++)
{
cin>>data[i];
}
cout<<sum(data,n)<<endl;
}
return 0;
}
谢谢大家,是我的粗心,我忘了把sum函数中data后面加[ ]了,抱歉!抱歉!