
C语言问题 假设已经有一个排序好的数组,要求输入一个数,判断。。。指针实现? 5
#include <stdio.h>
int *isInArray(int *arr, int length, int n) {
int flag = 0;
for (int i = 0; i < length; i++) {
if (*(arr + i) == n) {
for (int n = 0; n < length - i - 1; n++) {
*(arr + i + n) = *(arr + i + n + 1);
}
flag = 1;
}
}
if (n > *(arr + length - 1))
*(arr + length) = n;
for (int i = 0; i < length; i++) {
if (flag == 0) {
if (*(arr + i) < n && *(arr + i + 1) > n) {
for (int j = 0; j < length - i - 1; j++) {
*(arr + length - j) = *(arr + length - j - 1);
}
*(arr + i + 1) = n;
}
}
}
return arr;
}
int main() {
int arr[] = {2, 4, 6, 8, 10};
isInArray(arr, 5, 9);//插入9
for (int i = 0; i < 6; i++)
printf("%d ", arr[i]);
printf("\n");
isInArray(arr, 6, 4);//删除4
for (int i = 0; i < 5; i++)
printf("%d ", arr[i]);
printf("\n");
return 0;
}
广告 您可能关注的内容 |