Я делаю программу, которая позволяет мне читать целое число, введенное на терминале через функцию scanf
, и генерировать присвоенное ему значение из уже созданного массива.Вот описание программы:
Ваша программа должна прочитать 10 целых чисел (количество, необходимое для каждого из ингредиентов, по порядку) и сохранить их в массиве.Затем следует прочитать целое число, представляющее идентификационный номер ингредиента (от 0 до 9), и вывести соответствующее количество.
#include <stdio.h>
int main () {
int array[10];
int store = 0;
int i = 0;
printf("write how much the ingredients weigh in grams\n");
for (i=0; i<10; i++) {
scanf("%d", array);
printf("%i weighs %dg\n", i, array[store]);
}
printf("Which ingredient ID do you want to check the weight of? ");
int ingredient = 0;
scanf("%d", &store);
printf("The weight of this ingredient is: %d\n", ingredient[array]);
}
Например, если значения, хранящиеся в массиве: 23, 54, 12, 51, 11, 10, 99, 32, 9, 14, тогда я ожидал бы, что программа напечатает «12», когда я наберу «2» после того, как мне будет задан вопрос «Какой идентификатор ингредиента вы хотите проверить?вес?Однако в тот момент, когда я набираю число «6», например, оно сгенерирует значение, присвоенное номеру «8».Таким образом, он будет генерировать «9» вместо «99».
Как я могу это исправить?