编写C程序,在数组a中找元素x,若找到则输出在a中的位置,否则输出“没有找到“。要求使用指针方法处理,并在主函数中实现。数组a和元素x都由键盘输入。
时间: 2024-02-21 18:58:20 浏览: 89
好的,以下是C语言程序的代码:
```c
#include <stdio.h>
int main() {
int a[100];
int x;
int n, i;
printf("请输入数组a的长度(不超过100):");
scanf("%d", &n);
printf("请输入数组a的%d个元素:", n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
printf("请输入要查找的元素x:");
scanf("%d", &x);
int *p = &a[0];
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` 指向数组的第一个元素,逐个遍历数组中的元素,如果找到了匹配的元素,就输出其在数组中的位置,并退出循环;如果循环结束后仍然没有找到,就输出“没有找到”即可。
相关问题
在数组中查找指定元素:输入一个正整数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。
用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"。