设计一个C程序具有功能:

来源:百度知道 编辑:UC知道 时间:2024/05/13 06:11:32
设计一个C程序具有功能:
(1) 建立可容纳20个正整数的有序数列A;并采用顺序存储结构表示;
线性表A的初始状态为: A=(2,5,6,8,9,10,12,13,15,16,19,22) 。
(2) 对顺序表A可完成下列各个操作运算:
1.从表中找出值为b 的数据,并输出该数据在A中的序号;
2.将表A中的值为b的数据换为c,并保证A仍有序;
我们要考试了,关于这方面的不会,谢谢拉!

#include <stdio.h>

int getsn(int a[20],int b)
{int i;
for(i=0;i<20;i++)
if(a[i]==b)break;
if (i==20) return -1;
else return i;
}
int insert(int a[20],int b)
{int i,j,k;
i=getsn(a,b);
if(i!=-1) {printf("Error.\n");return -1;}
else a[i]=b;
if(a[i-1]>b)
{for(j=i-1;j>=0;j--)
if(a[j]<b) break;
k=a[j-1];a[j-1]=a[i];a[i]=k;}
if(a[i+1]<b)
{for(j=i+1;j<20;j++)
if(a[j]>b) break;
k=a[j-1];a[j-1]=a[i];a[i]=k;}

return 0;
}

void main()
{
static int a[20]={2,5,6,8,9,10,12,13,15,16,19,22};
int c;
scanf("%d",&c);
getsn(a,c);
insert(a,c+1);
}