不知道為什麼我的奇數數組顯示一些大數字。我只想以排序的方式打印數組中的奇數。
就像數組是 1 4 6 8 0 9
只打印 1 9
selectionSort() 只是對數組進行排序的函數。
int main()
{
int T, n, p, size,sum=0,si=0;
cin >> T;
for (int i = 0; i < T; i++)
{
cin >> n;
int a[n];
int odd[n];
for (int j = 0; j < n; j++)
{
cin >> a[j];
}
for (int j = 0; j < n; j++)
{
p = 0;
if (a[j] % 2 != 0){
odd[p++] = a[j];
si++;
}
}
selectionSort(odd, si);
for 循環有什麼問題?
for (int k = 0; k < si; k++)
{
cout << odd[k] << endl;
// sum += odd[j];
}
// cout << sum << endl;
sum = 0;
si=0;
}
return 0;
}
Output is :
1
4
1 5 7 9
9
16
4200276
6422112
Expecting
1
4
1 5 7 9
1
5
7
9
在 for 循環中不需要 p=0。奇數[p++] = a[j] 方程總是意味著奇數[0]=a[j]。將 p=0 置於 for 循環之外。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句