统计顺序表中元素值为负数的元素个数,并对其进行删除,然后将顺序表元素依次输出到屏幕.上。
时间: 2023-05-17 21:06:07 浏览: 75
可以使用以下代码实现:
```c
#include <stdio.h>
#define MAXSIZE 100
typedef struct {
int data[MAXSIZE];
int length;
} SqList;
void deleteNegative(SqList *L) {
int i, j = 0;
for (i = 0; i < L->length; i++) {
if (L->data[i] >= 0) {
L->data[j] = L->data[i];
j++;
}
}
L->length = j;
}
void printList(SqList L) {
int i;
for (i = 0; i < L.length; i++) {
printf("%d ", L.data[i]);
}
printf("\n");
}
int main() {
SqList L = {{-1, 2, -3, 4, -5}, 5};
int i, count = 0;
for (i = 0; i < L.length; i++) {
if (L.data[i] < 0) {
count++;
}
}
deleteNegative(&L);
printf("Negative elements count: %d\n", count);
printf("List after deletion: ");
printList(L);
return 0;
}
```
输出结果为:
```
Negative elements count: 3
List after deletion: 2 4
```