C++ 对数组中的数求平方,求和和和最大数

C++ 对数组中的数求平方,求和和和最大数,c++,C++,我的任务是将数组的所有元素平方,用“,”分隔,然后找到平方数组的和,并找到其中的最大数。我设法将它们平方,找到了总和,但我找不到最大的数字,程序还在新数组的末尾打印“,”。 这是我的代码: #include <iostream> #include <algorithm> using namespace std; int main() { int a[10]; int n,sum=0,kiek=0,max=a[0];; cin>>n; for(int i

我的任务是将数组的所有元素平方,用“,”分隔,然后找到平方数组的和,并找到其中的最大数。我设法将它们平方,找到了总和,但我找不到最大的数字,程序还在新数组的末尾打印“,”。 这是我的代码:

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
  int a[10];
int n,sum=0,kiek=0,max=a[0];;
cin>>n;

for(int i=0;i<n;i++)
{cin>>a[i];

a[i]*=a[i];
sum=sum+a[i];
}
 for (int i = 0 ; i < n ; i++) 
     {   cout <<a[i] << ","; }
     cout<<endl ;
cout<<"suma " <<sum;
cout<<endl;

for(int i=0;i<10;i++)
    {if(max<a[i])
        {
            max = a[i];
        } 
    }
  cout<<"max "<<max;
return 0;
}
#包括

#include

注释:如果要在运行时获取数组的大小,最好使用STL容器或指针。你的问题在于:

---> for(int i=0;i<10;i++)
         {if(max<a[i])
-->for(int i=0;i
#include
#包括
使用名称空间std;
int main(){
INTA[10];
int n,sum=0;//删除一些未使用的变量
//输入//
cin>>n;
对于(int i=0;i>a[i];
a[i]*=a[i];
总和+=a[i];
}
//列出一个[]和总和//
对于(int i=0;i我想你是不是想把max初始化为0而不是[0]
max=a[0]
max
设置为存储在此地址的内存中的某个垃圾值。在您的示例运行中,它是4197008。只要输入值不大于该值
max
就不会更改它的值。@ThomasSablik请在回答中回答,而不是在注释中回答。XDarkshadow,要处理的最大输入数是多少?如果不是10,那么您的代码中有一个更大的问题,您还没有注意到。@Yunnosch,最大输入数是10。由此引起的任何问题也可能是注释中提到的问题引起的。拿起它,您就有了一个像样的答案。