重啓c語言- jmu-ds-順序表區間元素刪除

PTA刷題-第14題- jmu-ds-順序表區間元素刪除

7-2 jmu-ds-順序表區間元素刪除 (35分)
若一個線性表L採用順序存儲結構存儲,其中所有的元素爲整數。設計一個算法,刪除元素值在[x,y]之間的所有元素,要求算法的時間複雜度爲O(n),空間複雜度爲O(1)。

輸入格式:
三行數據,第一行是順序表的元素個數,第二行是順序表的元素,第三行是x和y。

輸出格式:
刪除元素值在[x,y]之間的所有元素後的順序表。

輸入樣例:

10
5 1 9 10 67 12 8 33 6 2
3 10

輸出樣例:

1 67 12 33 2

思路:將數字讀入數組後,一個for循環進行遍歷所有元素,當元素中的數字滿足題目所給條件時,就直接存入另一個數組中,最後打印另一個數組中的元素即可。代碼如下:

#include<stdio.h>
int main()
{
	int m,i,x,y,a[100],b[100],j=0;
	scanf("%d",&m);
	for(i=0;i<m;i++)
	{
		scanf("%d",&a[i]);
	 } 
	 scanf("%d %d",&x,&y);
	 for(i=0;i<m;i++)
	 {
	 	if(a[i]<x||a[i]>y)
	 	{
	 	b[j]=a[i];
        j++;
	    }
	 }
    for(i=0;i<j-1;i++)
	 printf("%d ",b[i]);
	 printf("%d",b[j-1]);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章