C++求素数及素数之和

我输出它就只有0,还没学函数,不知道哪错了,写了一个多小时,循环感觉都是对的,但是还想问一下怎么把所有素数排序输出

img

img

for(int t = 2;t<a[i];t++)
11行还要加上一个sum=0才行
好吧,判断素数处理都不对

#include <iostream>
using namespace std;
int main()
{
    int a[20],b[20];
    int n,i,j,k=0,sum;
    cin>>n;
    for(i=0;i<n;i++)
    {
        sum = 0;
        cin>>a[i];
        if(a[i]<2)
            continue;
        for(j=2;j<a[i];j++)
            if(a[i]%j==0)
                break;
        if(j==a[i])
        {
            sum += a[i];
            b[k++] = a[i];
    }
    cout<<sum<<endl;
    for(i=0;i<k-1;i++)
        for(j=0;j<k-i-1;j++)
        {
            if(b[j]< b[j+1])
            {
                int t = b[j];
                b[j] = b[j+1];
                b[j+1] = t;
            }
        }
    for(i=0;i<k;i++)
        cout<<b[i]<<" ";
}

在写代码之前,你首先要学会读代码
你自己读读自己写的代码,看它到底什么功能先
然后跟题目比较一下,哪里一样了
题目要求你排序,你排序的代码在哪呢
还有,sum是质数和,你好歹先判断一个数到底是不是质数再求和啊,你循环里随便除一下除不开就直接加到sum上去了,然后循环没结束就直接在循环里输出了?
你这代码推翻了重来吧,没有修改的价值
做题之前先审题,没审题就做还觉得自己循环的没问题,也不知道你哪来的自信