Нам поставлена задача сделать программу, которая принимает только десять входов от пользователя, а затем сортировать его в четном или нечетном Array.Сохранение нечетных и четных чисел в массиве
- Принимает 10 входов.
- Сегрегирует до четного или нечетного массива.
- Распечатайте, сколько из них находится в четном/нечетном массиве.
- Печать номеров в каждом массиве.
Это программа, которую я сделал:
#include<stdio.h>
int main(){
int even[10];
int odd[10];
int number;
int numOdd = 0;
int numEven = 0;
int sizeOdd = 0;
int sizeEven = 0;
int count;
printf("Input numbers:\n");
for(count = 0; count < 10; count++){
scanf("%d", &number);
if (number %2 == 0){
while (numEven < 10){
even[numEven++] = number;
sizeEven++;
}
}
else {
while (numOdd < 10){
odd[numOdd++] = number;
sizeOdd++;
}
}
}
printf("\n\nEven numbers(%d): ", sizeEven);
for(number = 0; number < numEven; number++){
printf("%d, ", even[number]);
}
printf("\n\nOdd numbers(%d): ", sizeOdd);
for(number = 0; number < numOdd; number++){
printf("%d, ", odd[number]);
}
system("pause");
return 0;
}
Но моя программа просто выводит первые числа в массиве и повторяет его. Например, если я вводил 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, я получаю:
Четные числа (10): 2, 2, 2, 2, 2 Нечетные числа (10): 1, 1, 1, 1, 1
Am Я не так со всем/моей логики в программе? Я на правильном пути, и мне просто нужно немного подстроить его? Надеюсь на помощь!
ДА! Он выводил правильные цифры. Большое спасибо! Теперь, если только я могу заставить его печатать, сколько чисел Odd и Even есть ... – confusedcat
'numEven' и' sizeEven' - это две разные переменные, хотя они в основном дублируют друг друга. – Steve314
Да, точно :) –