C++代码运行出来会多一个0

题目名称:质检员问题升级
题目描述:小童是一家生产奶粉的工厂的工人,他的任务是调出奶粉中不足500g的奶粉和超过550g的奶粉并输出,
最后在输出合格奶粉所占比例。

样例输入:
6
500 499 488 560 501 501
样例输出:
499 488 560
50%


#include<fstream>
#include<string>
#include<cstring>
#include<algorithm>
#include<vector>
#include<iostream>
using namespace std;
int n,a,s; 
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a;
        if(a<500||a>550){
            cout<<a<<" ";
            s++;
        }
    }
    cout<<endl;
    cout<<(int)(s*1.0/n*100)<<"%";
    return 0;
}

#include<iostream>
using namespace std;
#include<vector>
int main()
{
    int n; cin >> n; int m = 0;
    vector<int>a;
    for (int i = 0; i < n; i++)
    {
        int j; cin >> j;
        a.push_back(j);
    }
    for (int i = 0; i < a.size(); i++)
    {
        if(a[i]<500||a[i]>550)
        {
            cout << a[i]<<" "; m += 1;
        }
    }
    cout <<endl<< m*100 / n<<"%";
}


哪里多一个0,看下你的代码。