/*线性表是n个元素的有序集合(n≥0),n是线性表中元素的个数,称为线性表的长度
。可以用一组地址连续的存储单元依次存储线性表中元素,采用这种存储方式的线性表称为顺序表。
请在顺序表上实现运算,实现顺序表的逆置,删除表中所有元素值等于x的元素。
输入
三组数据,顺序表元素类型分别为整型、字符型和实型。
每一组第一行给出元素数目n(0<n≤1000),第二行给出元素数值,第三行给出待删除的元素。
输出
三组数据,每一组第一行给出逆置后的顺序表元素,第二行是在此基础上删除指定元素后的顺序表元素
,每一个输出元素后均有一个空格,如果元素全部被删除,那么输出一个空行。
样例输入
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<stdio.h>
#include<string.h>
#define N 1001
/*
void inputint(int a[]);
void inputchar(char c[]);
void inputdouble(double f[]);
void outputint(int a[],int n,int x);
void outputchar(char c[],int m,char r);
void outputdouble(double f[]),int p,double q);
*/
int main()
{
int a[N];
char c[N];
double f[N];
int n,i,x,m,p;
double t;
char r;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
scanf("%d",&x);
for(i=n-1;i>=0;i--)
printf("%d ",a[i]);
printf("
");
for(i=n-1;i>=0;i--)
{
if(a[i]==x)
continue;
else
printf("%d ",a[i]);
}
printf("
");
scanf("%d",&m);
for(i=0;i<m;i++)
c[i]=getchar();
scanf("%c",&r);
for(i=m-1;i>=0;i--)
printf("%c ",c[i]);
printf("
");
for(i=m-1;i>=0;i--)
{
if(c[i]==r)
continue;
else
printf("%c ",c[i]);
}
printf("
");
scanf("%d",&p);
for(i=0;i<p;i++)
scanf("%lf",&f[i]);
scanf("%lf",&t);
for(i=p-1;i>=0;i--)
printf("%lf ",f[i]);
printf("
");
for(i=p-1;i>=0;i--)
{
if((a[i]-t)<1E-6)
continue;
else
printf("%lf ",a[i]);
}
return 0;
}
还没有学习c++;以后再补充