2016-02-08 4 views
3

В настоящее время я делаю программу, которая берет входные данные от пользователя о том, сколько чисел они хотят в массиве и какие числа находятся в этих массивах, чтобы сравнить их, чтобы найти их объединения в пересечениях.Программа C пропускает пользовательский ввод?

У меня это написано, но по какой-то причине после ввода пользователем количества нужных чисел и чисел в первый массив (a) он пропускает весь пользовательский ввод для второго массива (b).

Вычисления для объединения и пересечения правильны (не показаны), но я просто не могу понять, что мне не хватает. Я совершенно новый в C, поэтому, возможно, есть некоторые незначительные проблемы, которые мне не хватает.

Спасибо за помощь!

int main(void){ 

    int i, j, x, y; 
    int elemA, elemB; 
    int a[10] = {0}; 
    int b[10] = {0}; 


    // Prompts user to enter the amount of numbers that will be in array a 
    // then asks user to enter the values (0-9) to be inputted. 
    printf("Enter the number of elements in set A: \n"); 
     scanf("%d", &elemA); 
    printf("Enter %d number(s) for set A: \n", elemA); 
     scanf("%d", &x); 
     if(x < 10) 
      a[x]=1; // sets the index in the array to 1 if the 
        //corresponding number that has been inputted 


    // Prompts user to enter the amount of numbers that will be in array a 
    // then asks user to enter the values (0-9) to be inputted. 
    printf("Enter the number of elements in set B: \n"); 
    scanf("%d", &elemB); 
    printf("Enter %d number(s) for set B: \n", elemB); 
     scanf("%d", &y); 
     if(y < 10) 
      b[y]=1; // sets the index in the array to 1 if the 
        //corresponding number that has been inputted 

*** rest of code *** 
+1

'scanf ("% d ", &x);' только читает один номер.У вас есть петля где-то. – kaylum

ответ

2

Здесь:

printf("Enter %d number(s) for set A: \n", elemA); 
scanf("%d", &x); 

Вы читаете только один INT, остальные находятся в очереди, и будет использоваться при использовании зсапа другого времени, без ввода данных пользователя.

+0

Это так много смысла. Мой код начинает возвращать некоторые странные числа сейчас с циклом for, но я получу Спасибо большое! – Ashley

Смежные вопросы