
/* 从顺序表中删除给定区间s~t之间的值,若给定区间不合理或顺序表为空,则显示错误信息并退出*/#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>void deletePoint(int *arr, int s, int t, int len) { int k = 0, i = 0; for (i = 0; i < len && *(arr + i) < s; i++);//找到第一个大于等于s的元素 if (i >= len) return; for (k = i; k <= len && *(arr + k) <= t; k++);//找到第一个大于t的元素 for (; k < len; i++, k++) *(arr + i) = *(arr + k); printf("当前数组为:"); for (int j = 0; j < i; j++) printf("%d ", *(arr + j));}int main() { int arr[] = { 1,2,4,6,10,15 };//也可以由用户输入 int s, t;//用于给定区间范围 int len = sizeof(arr) / sizeof(int); printf("请输入区间范围,s<t\n"); do { printf("s="); scanf("%d", &s); printf("t="); scanf("%d", &t); } while (s > t); deletePoint(arr, s, t, len); return 0;}