#c
#c
Вопрос:
Вот код.
Прямо сейчас я не использую массив, но я не хочу помещать все эти операторы if.
Это всего лишь пример моего фактического кода.
int array[6] = {2,3,5,7,9,11};
int num;
printf("Enter a number: ");
scanf("%d", amp;num);
if(num == 2 || num == 3 || num == 5 || num == 7 || num == 9 || num == 11 ){
printf("Truen");
}
else{
printf("Falsen");
}
Комментарии:
1. Используйте
for
цикл для итерации элементов массива.int ix; for (ix = 0; ix < sizeof(array)/sizeof(array[0]); ix ) { ...}
2. Если значения массива находятся в диапазоне [0 …255], используйте
unsigned char[]
иmemchr()
.
Ответ №1:
Попробуйте это
добавьте эту функцию в свой код и вызывайте ее, когда вам нужно проверить
int valueinarray(float val, float arr[])
{
int i;
for(i = 0; i < sizeof(arr) / sizeof(arr[0]); i )
{
if(arr[i] == val)
return 1;
}
return 0;
}
Пример
int valueinarray(float val, float arr[]);
Комментарии:
1. вы можете изменить тип данных, какой захотите, например: float на int или else .
Ответ №2:
#include <stdio.h>
int main()
{
int arry[] = {1,2,3,4,5,6};
for(int i = 0; i < sizeof(arry); i){
printf("nNumber %d printed!", i);
if(i == 2) // Replace '2' with user input.
{
printf("nFound 2");
break; // Exit loop because we found what we were looking for
}
else {
// do something
}
}
}
Комментарии:
1.
sizeof(arry)
должно бытьsizeof(arry)/sizeof(arry[0])
2.
if(i == 2)
должно бытьif(arry[i] == num)
, гдеnum
находится значение пользовательского ввода, как показано в коде операции.