【正确答案】算法由主函数和结点替换、输出三个函数组成。
程序如下:
#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
【答案解析】