c语言中,在一位数组中,查找是否存在一给定的数,若存在则删除该数
时间: 2023-10-01 19:00:44 浏览: 155
在C语言中,可以通过遍历数组的方式来查找是否存在给定的数。
首先,定义一个数组和一个给定的数。然后,使用for循环遍历数组,判断数组中的每个元素是否等于给定的数。若找到相等的数,则说明存在这个数。
找到这个数后,可以通过将数组中该元素之后的所有元素都向前移动一位的方式来删除该数。即从找到的位置开始,将后面的元素依次向前移动一位,并将数组长度减一。
最后,再次遍历数组,输出删除后的结果。
下面是一个简单的示例代码:
```c
#include <stdio.h>
int main() {
int array[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int givenNum = 5;
int i, flag = 0;
int length = sizeof(array) / sizeof(array[0]);
// 查找给定的数
for (i = 0; i < length; i++) {
if (array[i] == givenNum) {
// 删除该数
int j;
for (j = i; j < length-1; j++) {
array[j] = array[j+1];
}
length--;
flag = 1; // 标志位,表示找到了给定的数
break;
}
}
// 输出删除后的结果
if (flag) {
printf("删除成功!删除后的数组为:\n");
for (i = 0; i < length; i++) {
printf("%d ", array[i]);
}
printf("\n");
} else {
printf("删除失败,该数不存在。\n");
}
return 0;
}
```
在示例代码中,给定的数组长度为10,包含了数字1到10。给定的数为5。程序会遍历数组,找到数字5后,将该数删除,并输出删除后的结果。若给定的数不存在,则会输出"删除失败,该数不存在。"
阅读全文