编写C程序,在数组a中找元素x,若找到则输出在a中的位置,否则输出“没有找到“。要求使用指针方法处理,并在主函数中实现。
时间: 2024-02-21 14:58:18 浏览: 35
好的,以下是C语言程序的代码:
```c
#include <stdio.h>
int main() {
int a[] = {1, 2, 3, 4, 5};
int x = 3;
int n = sizeof(a) / sizeof(int);
int *p = &a[0];
int i;
for (i = 0; i < n; i++) {
if (*p == x) {
printf("在a中的位置为:%d\n", i);
break;
}
p++;
}
if (i == n) {
printf("没有找到\n");
}
return 0;
}
```
程序首先定义了一个数组 `a` 和要查找的元素 `x`,然后使用指针 `p` 指向数组的第一个元素,逐个遍历数组中的元素,如果找到了匹配的元素,就输出其在数组中的位置,并退出循环;如果循环结束后仍然没有找到,就输出“没有找到”即可。
相关问题
用c语言写一段代码:在数组中查找指定元素。输入5个整数存入一维数组a中,再输入一个整数x,在数组a中查找x,如果找到则输出相应的最小下标,否则输出“Not found”。
以下是用C语言编写的程序,可以实现在数组中查找指定元素的功能:
```c
#include <stdio.h>
int main() {
int a[5], x, i, found = 0;
printf("请输入5个整数:\n");
for(i = 0; i < 5; i++) {
scanf("%d", &a[i]);
}
printf("请输入要查找的整数:\n");
scanf("%d", &x);
for(i = 0; i < 5; i++) {
if(a[i] == x) {
printf("找到了,%d的最小下标为%d\n", x, i);
found = 1;
break;
}
}
if(!found) {
printf("Not found\n");
}
return 0;
}
```
程序首先让用户输入5个整数存入数组a中,再输入一个整数x表示要查找的元素。然后用for循环遍历数组a,查找是否有与x相等的元素,如果找到了就输出最小下标,并设置found标志为1,表示已经找到了。如果for循环结束后found标志仍然为0,说明没有找到,输出"Not found"。
在数组中查找指定元素:输入一个正整数n(1<n<10),然后输入n个整数存入数组a中,再输入一个整数x,在数组a中查找x,若找到则输出相应的下标,否则显示Notfound。要求定义和调用函数search(int list[ ], int n, intx),在数组list中查找元素x,若找到则返回相应下标,否则返回-1,参数n代表数组list中元素的数量。试编写相应程序。用C语言编写
以下是C语言的实现:
```c
#include <stdio.h>
int search(int list[], int n, int x);
int main()
{
int n, x;
printf("请输入正整数n:");
scanf("%d", &n);
int a[n];
printf("请输入%d个整数:", n);
for (int i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
printf("请输入要查找的整数:");
scanf("%d", &x);
int index = search(a, n, x);
if (index == -1)
{
printf("Notfound\n");
}
else
{
printf("下标为:%d\n", index);
}
return 0;
}
int search(int list[], int n, int x)
{
for (int i = 0; i < n; i++)
{
if (list[i] == x)
{
return i;
}
}
return -1;
}
```
该程序首先输入正整数n和n个整数,然后输入要查找的整数x。接着调用search函数在数组a中查找x,如果找到则返回相应下标,否则返回-1。根据返回值判断是否找到x。