问答题 设计一个算法,将顺序表中所有数据域为x的结点的数据域替换成y。
【正确答案】算法由主函数和结点替换、输出三个函数组成。
   程序如下:
   #define MAXLEN 10
   void replqlist(int x,int Y,int s[],int*np)/*结点替换*/
   {
     int i,n;
     n=*np;
     for(i=0;i<n;i++)
   {
     if(s[i]==x)
        s[i]=y;    /*用y替换x*/
   }
 }
 void print(int s[],int*np)
 {
   int i,n;
   n=*np;
   for(i=0;i<n;i++)
   {
     printf("/%d",S[i]);
   }
   printf("\n");
   }
   main()
   {
     int a[MAXLEN]={11,33,55,66,77,88,99,33,44,77};
   int x,y,*e;
   x=33;
   y=30;
   *e=10;
   print(a,e);    /*替换前输出*/
   replqlist(x,y,a,e);    /*y替换x*/
   print(a,e);    /*替换后输出*/
   }
   输出结果为:
   11 33 55 66 77 88 99 33 44 77
   11 30 55 66 77 88 99 30 44 77
【答案解析】