请用c语言编写一段程序,要求如下:输入整数n和key,动态创建n个整数空间并输入n个整数,查找key是否在该集合中, 找到返回key的位置,没找到返回-1,注意:程序应尽量简洁并给出分析
时间: 2023-08-06 16:10:01 浏览: 55
以下是使用C语言编写的程序,实现了动态创建n个整数空间,并输入n个整数,查找key是否在该集合中,找到返回key的位置,没找到返回-1。具体注释见代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int n, key, i, *arr; //定义变量,其中arr为指向整型数组的指针
int position = -1; //初始化位置为-1,表示未找到
printf("请输入整数n和key:\n");
scanf("%d %d", &n, &key);
arr = (int *)malloc(n * sizeof(int)); //动态创建n个整数空间
printf("请输入%d个整数:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]); //输入n个整数
}
for (i = 0; i < n; i++) {
if (arr[i] == key) { //查找key是否在该集合中
position = i; //找到则记录位置
break; //跳出循环
}
}
if (position == -1) {
printf("未找到key\n");
} else {
printf("key的位置为:%d\n", position);
}
free(arr); //释放指针所指向的内存空间
return 0;
}
```
程序的思路比较简单,首先根据输入的n动态创建n个整数空间,然后输入n个整数,接着查找key是否在该集合中,找到则记录位置并跳出循环,最后根据position的值输出结果。在程序结束时,需要释放指针所指向的内存空间,避免内存泄漏。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)