1. 程式人生 > >C,順序表,簡單的元素處理

C,順序表,簡單的元素處理

def 包含 max img 序表 查找 scanf 位置 tdi

#include<stdio.h>
#include<stdlib.h>
#define maxSize 30
typedef int DataType;
typedef struct {                            //包含結構體 
    DataType data[maxSize];
    int n;
}SeqList; 
    
int main(){
    SeqList L;
    int i,k,l,n1,n2,x,j=0;
    printf("請輸入數據長度:"); 
    scanf("%d",&L.n);
    for(i=0;i<L.n;i++){                    //依次輸入data
        printf("請輸入第%d個數據:",i+1);
        scanf("%d",&L.data[i]);
    } 
    printf("包含數據:");
    for(i=0;i<L.n;i++){                   //輸出data 
        printf("%d  ",L.data[i]);
    }
    printf("\n");
    
    printf("順序表L的長度=%d\n",L.n);     // 求線性表長度運算
    
    
    enter: 
    printf("請輸入邏輯順序:");
    scanf("%d",&n2);        
    if(n2<0||n2>L.n){                             //直到輸入正確 
        printf("不在數據範圍之內");         
        goto enter;
    }


    printf("第%d個位置的元素是%d\n",n2,L.data[n2-1]);
                                                     
    printf("請輸入要查找的元素:");
    scanf("%d",&n1);                      //獲得n1
    for(i=0;i<L.n;i++){                   //依次比較n1在與data中的數 
        if(L.data[i]==n1){
            printf("元素%d是第%d個元素\n",n1,i+1);
            j++;                          
        }       
    }
    if(j==0){
        printf("n1在data中不從在\n"); 
    }
    insert:
    printf("要在第幾個數據插入:");
    scanf("%d",&k);
    if(k<1||k>L.n) {                        //直到輸入正確 
        printf("不在數據範圍內\n");
        goto insert;  
    }
    printf("要插入的元素"); 
    scanf("%d",&x);
    L.n++;                                   //數據長度+1 
    for(i=L.n-1;i>=0;i--){                   //插入數據x 
        L.data[i+1]=L.data[i];
        if((i+1)==k){
            L.data[i]=x;
            break;
        }
    }
    for(i=0;i<L.n;i++){                   //輸出處理後的結果 
        printf("%d  ",L.data[i]);
    }
    del:
    printf("要刪除第幾個數據:");
    scanf("%d",&l);
    if(l<1||l>L.n) {
        printf("不在數據範圍內\n");
        goto del;  
    }
    for(i=l;i<L.n;i++){                     //刪除第l個數據 
        L.data[i-1]=L.data[i];
    }
    L.n--;                             //數據長度-1
    for(i=0;i<L.n;i++){                  //輸出處理後的結果 
        printf("%d  ",L.data[i]);
    }   
    return 0;
}

技術分享圖片

C,順序表,簡單的元素處理