給一個a數組,要求先把它裡面的負數輸入到b數組,然後再把a數組裡面的大於0且是3的倍數的數輸入到b數組,最後b數組剩下的數賦值0。
#include
using namespace std;
int main()
{
int a[8] = { 2,33,-6,5,-82,30,99,21 }; int b[8] = { 0 }; int j = 0;
for (int i = 0; i < 8; i++)
{
if (a[i]
{
b[j] = a[i]; j++;
}
}
for (int i = 0; i
{
if (a[i] > 0 && a[i] % 3 == 0)
{
b[j] = a[i]; j++;
}
}
for (j = 1; j < 8; j++)
cout << b[j] << " ";
while (1);
return 0;
}
我最後得的結果差不多都正確,但是b數組的第一個直接是-82,跳過了-6,怎麼回事啊?
最後一個循環,輸出時,j應該從0開始。
for (j = 0; j < 8; j++)