1004-线性表操作

描述

 

线性表是n个元素的有序集合(n³0),n是线性表中元素的个数,称为线性表的长度。可以用一组地址连续的存储单元依次存储线性表中元素,采用这种存储方式的线性表称为顺序表。

请在顺序表上实现运算,实现顺序表的逆置,删除表中所有元素值等于x的元素。

输入

 

三组数据,顺序表元素类型分别为整型、字符型和实型。

每一组第一行给出元素数目n0<n1000),第二行给出元素数值,第三行给出待删除的元素。

输出

 

三组数据,每一组第一行为逆置后的顺序表元素,第二行是在此基础上删除指定元素后的顺序表元素

样例输入

8
1 2 3 7 5 6 7 8
7
3
a c m
h
4
1.2 3.4 5.6 7.8
1.2

样例输出

8 7 6 5 7 3 2 1
8 6 5 3 2 1
m c a
m c a
7.8 5.6 3.4 1.2
7.8 5.6 3.4

#include <iostream>
using namespace std;
const int N=1001;

int main(int argc, char *argv[])
{
    int a[N],a1;
    char b[N],b1;
    float c[N],c1;
    int n1,n2,n3;
    int i,j,k;
    //1
    cin>>n1;
    for(i=0;i<n1;i++)
        cin>>a[i];
    for(i=0;i<n1/2;i++)
    {
        int t1;
        t1=a[i];
        a[i]=a[n1-i-1];
        a[n1-i-1]=t1;
    }     
    for(i=0;i<n1;i++)
        cout<<a[i]<<" ";
    cout<<endl;
    cin>>a1;
    for(i=0;i<n1;i++)
    {
        if(a[i]!=a1)
            cout<<a[i]<<" ";
    }
    cout<<endl;
    //2
    cin>>n2;
    for(j=0;j<n2;j++)
        cin>>b[j];
    for(i=0;i<n2/2;i++)
    {
        char t2;
        t2=b[i];
        b[i]=b[n2-i-1];
        b[n2-i-1]=t2;
    }     
    for(i=0;i<n2;i++)
        cout<<b[i]<<" ";
    cout<<endl;
    cin>>b1;
    for(i=0;i<n2;i++)
    {
        if(b[i]!=b1)
            cout<<b[i]<<" ";
    }
    cout<<endl;
    //3
    cin>>n3;
    for(k=0;k<n3;k++)
        cin>>c[k];
    for(i=0;i<n3/2;i++)
    {
        float t3;
        t3=c[i];
        c[i]=c[n3-i-1];
        c[n3-i-1]=t3;
    }     
    for(i=0;i<n3;i++)
        cout<<c[i]<<" ";
    cout<<endl;
    cin>>c1;
    for(i=0;i<n3;i++)
    {
        if(c[i]!=c1)
            cout<<c[i]<<" ";
    }
    cout<<endl;
    return 0;
}

  

原文地址:https://www.cnblogs.com/Rosanna/p/3436475.html