/************found************/
p=j;
t=a[p];a[p]=a[j];a[j]=t;
}
}
三、程序编写题(对应题库79套编程题—自己编程练习记答案)
第8套题
一、程序填空题
intfun(SLIST*h,charch)
{SLIST*p;intn=0;
p=h->next;
/**********found**********/
while(p!
=___1___)
{n++;
/**********found**********/
参考答案:
(1)0或NULL
(2)n
(3)head,ch
if(p->data==ch)return___2___;
elsep=p->next;
}
return0;
}
main()
{SLIST*head;intk;charch;
chara[N]={'m','p','g','a','w','x','r','d'};
head=creatlist(a);
outlist(head);
printf("Enteraletter:
");
scanf("%c",&ch);
/**********found**********/
k=fun(___3___);
if(k==0)printf("\nNotfound!
\n");
elseprintf("Thesequencenumberis:
%d\n",k);
}
二、程序改错题
#include
#include
#include
参考答案:
(1)for(i=0,t=0;p[i];i++)
(2)c[t]='\0';
fun(char*p)
{inti,t;charc[80];
/************found************/
For(i=0,t=0;p[i];i++)
if(!
isspace(*(p+i)))c[t++]=p[i];
/************found************/
c[t]="\0";
strcpy(p,c);
}
三、程序编写题(对应题库86套编程题—特殊方法练习)
第9套题
一、程序填空题
voidfun(SLIST*h,int*n)
参考答案:
(1)*n
(2)next
(3)head
{SLIST*p;
/**********found**********/
___1___=0;
p=h->next;
while(p)
{(*n)++;
/**********found**********/
p=p->___2___;
}
}
main()
{SLIST*head;
inta[N]={12,87,45,32,91,16,20,48},num;
head=creatlist(a);outlist(head);
/**********found**********/
fun(___3___,&num);
printf("\nnumber=%d\n",num);
}
二、程序改错题
char*fun(char*s,char*t)
{
char*p,*r,*a;
参考答案:
(1)a=NULL;
(2)if(*r==*p)
/************found************/
a=Null;
while(*s)
{p=s;r=t;
while(*r)
/************found************/
if(r==p)
{r++;p++;}
elsebreak;
if(*r=='\0')a=s;
s++;
}
returna;
}
三、程序编写题(对应题库94套编程题—特殊方法练习)
第10套题
一、程序填空题
intfun(SLIST*h)
{SLIST*p;ints=0;
p=h->next;
while(p)
参考答案:
(1)data
(2)next
(3)head
{
/**********found**********/
s+=p->___1___;
/**********found**********/
p=p->___2___;
}
returns;
}
main()
{SLIST*head;
inta[N]={12,87,45,32,91,16,20,48};
head=creatlist(a);outlist(head);
/**********found**********/
printf("\nsum=%d\n",fun(___3___));
}
二、程序改错题
voidfun(char*s,char*t1,char*t2,char*w)
{
char*p,*r,*a;
strcpy(w,s);
while(*w)
参考答案:
(1)while(*r)
(2)*a=*r;a++;r++;
{p=w;r=t1;
/************found************/
while(r)
if(*r==*p){r++;p++;}
elsebreak;
if(*r=='\0')
{a=w;r=t2;
while(*r){
/************found************/
*a=*r;a++;r++
}
w+=strlen(t2);
}
elsew++;
}
}
三、程序编写题(对应题库85套编程题—特殊方法练习)
第11套题
一、程序填空题
intfun(char(*ss)[N],int*n)
参考答案:
(1)M
(2)<
(3)k
{inti,k=0,len=N;
/**********found**********/
for(i=0;i<___1___;i++)
{len=strlen(ss[i]);
if(i==0)*n=len;
/**********found**********/
if(len___2___*n)
{*n=len;
k=i;
}
}
/**********found**********/
return(___3___);
}
二、程序改错题
#include
#include
char*fun(chartt[])
参考答案:
(1)if(('a'<=tt[i])&&(tt[i]<='z'))
(2)tt[i]-=32;
{
inti;
for(i=0;tt[i];i++)
/**********found***********/
if(('a'<=tt[i])||(tt[i]<='z'))
/**********found***********/
tt[i]+=32;
return(tt);
}
三、程序编写题(对应题库62套编程题—记程序背答案)
第12套题
一、程序填空题
#include
voidfun(char*s)
{inti,j=0,k=0;chart1[80],t2[80];
for(i=0;s[i]!
='\0';i++)
if(s[i]>='0'&&s[i]<='9')
参考答案:
(1)j++
(2)s[i]=t1[i]
(3)j
{
/**********found**********/
t2[j]=s[i];___1___;
}
elset1[k++]=s[i];
t2[j]=0;t1[k]=0;
/**********found**********/
for(i=0;i/**********found**********/
for(i=0;i<___3___;i++)s[k+i]=t2[i];
}
二、程序改错题
#include
#include
#defineMAXLINE20
fun(char*pstr[6])
{inti,j;
char*p;
for(i=0;i<5;i++){
/**************found**************/
参考答案:
(1)for(j=i+1;j<6;j++)
(2)*(pstr+i)=*(pstr+j);
for(j=i+1,j<6,j++)
{
if(strcmp(*(pstr+i),*(pstr+j))>0)
{
p=*(pstr+i);
/**************found**************/
*(pstr+i)=pstr+j;
*(pstr+j)=p;
}
}
}
}
三、程序编写题(对应题库53套编程题—特殊方法练习)
第13套题
一、程序填空题
#include
voidfun(char*s)
{inti,j,n;
for(i=0;s[i]!
='\0';i++)
/********