k=j;
t=a[k];
a[k]=a[i];
a[i]=t;
}
}
voidmain()
{
inti,x[10]={5,7,4,2,8,6,1,9,0,3};
printf("theoriginalarray:
\n");
for(i=0;iprintf("%d",x[i]);
printf("\n");
sort(x,N);
printf("thesortedarray:
\n");
for(i=0;iprintf("%d",x[i]);
printf("\n");
}
实验八
2.程序填空题
f(a)*f(b)、x=newx(x,b)、x=newx(a,x)
3.程序改错题
if(s[i]>='0'&&s[i]<='9')
s[j++]=s[i];
s[j]='\0';
4.程序设计题
(1)
#include
#include
voidfun(chars[],inti,intj)
{
chart;
if(i>=j)
return;
else
{
t=s[i];
s[i]=s[j];
s[j]=t;
fun(s,i+1,j-1);
}
}
voidmain()
{
charstr[81];
gets(str);
fun(str,0,strlen(str)-1);
puts(str);
}
(2)
//sy8proc2.c
#include
#include
externdoublenewx(doublea,doubleb);
doublef(doublex)
{
doubley;
y=2*x*x*x-3*x*x+7*x-13;
return(y);
}
voidmain()
{
doublea,b,x;
do
{
printf("Pleaseinputa,b:
");
scanf("%lf,%lf",&a,&b);
}while(f(a)*f(b)>0);
do
{
x=newx(a,b);
if(f(a)*f(x)>0)
x=newx(x,b);
else
x=newx(a,x);
}while(fabs(f(x))>0.00001);
printf("x=%lf,y=%lf\n",x,f(x));
}
//sy8newx2.c
doublenewx(doublea,doubleb)
//或externdoublenewx(doublea,doubleb)
{
doublexnew;
xnew=(a*f(b)-b*f(a))/(f(b)-f(a));
return(xnew);
}
实验九
2.程序填空题
(1)
p=a、*(*p+j)
注:
外循环改为:
for(i=0;i<3;i++,p++)
(2)
pstr=s、*pstr-'0'、pstr++
3.程序改错题
*ave=sum/n;
scanf("%f",score+k);/
printf("Theresultis:
%d\n",average(score,m,&aver));
4.程序设计题
#include
voidfun(char*pp)
{
inti,n=0;
while(*(pp+n)=='*')
n++;
for(i=n;*(pp+i)!
='\0';i++)
if(*(pp+i)!
='*')
{
*(pp+n)=*(pp+i);
n++;
}
*(pp+n)='\0';
}
voidmain()
{
charaa[80];
printf("Pleaseenterastring:
\n");
scanf("%s",aa);
fun(aa);
printf("Afterchanging,thestringbecome:
\n");
printf("%s\n",aa);
}
(1)
#include
voidfun(char*pp)
{
inti,k,n=0;
for(i=0;*(pp+i)!
='\0';i++)
if(*(pp+i)!
='*')
{
*(pp+n)=*(pp+i);
n++;
k=0;
}
else
k++;
if(k!
=0)
{
for(i=1;i<=k;i++)
*(pp+n+i)='*';
*(pp+n+i)='\0';
}
else
*(pp+n)='\0';
}
voidmain()
{
charaa[80];
printf("Pleaseenterastring:
\n");
scanf("%s",aa);
fun(aa);
printf("Afterchanging,thestringbecome:
\n");
printf("%s\n",aa);
}
(2)
#include
voidfun(char*pp)
{
inti,k,j=0,n=0;
while(*(pp+n)=='*')
n++;
for(i=n;*(pp+i)!
='\0';i++)
if(*(pp+i)!
='*')
{
*(pp+j)=*(pp+i);
j++;
k=0;
}
else
{
*(pp+j)=*(pp+i);
j++;
k++;
}
if(k!
=0)
{
for(i=0;i*(pp+i)=*(pp+i);
*(pp+i)='\0';//或去掉此for循环,直接用*(pp+j-k)='\0';
}
else
*(pp+j)='\0';
}
voidmain()
{
charaa[80];
printf("Pleaseenterastring:
\n");
scanf("%s",aa);
fun(aa);
printf("Afterchanging,thestringbecome:
\n");
printf("%s\n",aa);
}
(3)
#include
voidfun(char*pp)
{
inti,k,n=0;
while(*(pp+n)=='*')
n++;
for(i=n;*(pp+i)!
='\0';i++)
if(*(pp+i)!
='*')
{
*(pp+n)=*(pp+i);
n++;
k=0;
}
else
k++;
if(k!
=0)
{
for(i=1;i<=k;i++)
*(pp+n+i)='*';
*(pp+n+i)='\0';
}
else
*(pp+n)='\0';
}
voidmain()
{
charaa[80];
printf("Pleaseenterastring:
\n");
scanf("%s",aa);
fun(aa);
printf("Afterchanging,thestringbecome:
\n");
printf("%s\n",aa);
}
实验十
2.程序填空题
(*p)、structstu、&student[2]
3.程序改错题
}STREC;
if(a[i].scfun(s,N);
4.程序设计题
(1)
#defineN10
#include
typedefstruct
{
charnum[10];
intsc;
}STREC;
floatfun(STRECa[],intn)
{
inti,s=0;
floatave;
for(i=0;is=s+a[i].sc;
ave=(float)s/n;
returnave;
}
voidmain()
{
inti;
floataver;
STRECs[N]={{"Li001",85},{"Li003",76},{"Li002",69},
{"Li004",96},{"Li006",79},{"Li005",86},
{"Li008",68},{"Li007",77},{"Li010",96},
{"Li009",64}};
aver=fun(s,N);
for(i=0;iif(s[i].sc>aver)
printf("%s:
%d\n",s[i].num,s[i].sc);
}
(2)
#defineN10
#include
typedefstruct
{
charnum[10];
intsc;
}STREC;
intfun(STRECa[],intn)
{
inti,max=-1;
for(i=0;iif(a[i].sc>max)
max=a[i].sc;
returnmax;
}
voidmain()
{
inti,maxsc;
STRECs[N]={{"Li001",85},{"Li003",76},{"Li002",69},
{"Li004",96},{"Li006",79},{"Li005",86},
{"Li008",68},{"Li007",77},{"Li010",96},
{"Li009",64}};
maxsc=fun(s,N);
for(i=0;iif(s[i].sc==maxsc)
printf("%s:
%d\n",s[i].num,s[i].sc);
}
(3)
#include
#defineM5//人数
#defineN3//课程数
structstudent
{
charnum[10];
charname[20];
floatscore[N+1];
};
voidmain()
{
structstudentstud[M];
inti,j,max;
floataver;
printf("Inputdata:
\n");
printf("NoNamescore1score2score3\n");
for(i=0;i{
scanf("%s%s",stud[i].num,stud[i].name);
scanf("%f%f%f",&stud[i].score[0],&stud[i].score[1],
&stud[i].score[2]);
}
printf("scoreaverage:
");
for(j=0;j{
aver=0;
for(i=0;iaver=aver+stud[i].score[j];
aver=aver/M;
printf("%