用c语言写给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个
时间: 2024-11-25 13:14:20 浏览: 28
在C语言中,你可以使用线性搜索的方式来找出一个整数`a`在一个包含`n`个整数的数组中的第一次出现位置。这里是一个简单的示例程序:
```c
#include <stdio.h>
int find_first_occurrence(int arr[], int n, int a) {
for (int i = 0; i < n; i++) {
if (arr[i] == a) {
return i + 1; // 返回索引加一,因为数组索引从0开始
}
}
return -1; // 如果`a`在整个数组中未找到,则返回-1表示不存在
}
int main() {
int n;
printf("请输入数组的长度:");
scanf("%d", &n);
int* arr = malloc(n * sizeof(int)); // 动态分配内存
if (!arr) {
perror("Memory allocation failed");
return 1;
}
printf("请输入%d个整数:\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
int target;
printf("请输入你要查找的整数a:");
scanf("%d", &target);
int first_index = find_first_occurrence(arr, n, target);
if (first_index != -1) {
printf("整数 %d 的第一次出现是在第 %d 个位置。\n", target, first_index);
} else {
printf("整数 %d 在数组中未找到。\n", target);
}
free(arr); // 释放内存
return 0;
}
```
这个程序首先读取数组长度、元素以及目标值`a`,然后遍历整个数组寻找目标值并返回其首次出现的位置。如果没有找到,它将返回-1。
阅读全文