if(k!
=i)
{t=a[k];a[k]=a[i];a[i]=/**//**/;}
}
}
voidmain()
{inta[]={72,25,58,32,2,15,7,64};
inti,m=sizeof(a)/sizeof(int);
sort(a,m);
for(i=0;iprintf(”%d”,a[i]);
printf(”\n”);
getch();
}
3.补充程序Ccon053.c,使其实现从键盘输入三个数中,输出最大值。
#include
main()
{floata,b,c,max;
/**//**/
printf(”Pleaseinput3integer:
\n”);
scanf(”%f%f%f”,&a,&b,&c);
max=fmax(a,b,c);
printf(”Themaxnumberis:
%.2f\n”,max);
getch();
}
floatfmax(floatx,floaty,floatz)
{floatm,n;
n=(n>z)?
y:
z;
m=/**//**/
return(m);}
四、编程题(共2小题,每题8分)
1.打开程序cprog051.c,完成其中的f()函数,使其计算:
如:
输入:
0.4 输出f(0.40)=0.82 输入:
1.5 输出f(1.50)=1.24 输入:
780 输出f(780.00)=1.00
#include
#include
doublef(floatx)
{/**/
/**/
}
voidmain()
{
floatx;
doubley;
printf(”Pleaseinputanumber:
\n”);
scanf(”%f”,&x);
y=f(x);
printf(”f(%.2f)=%.2f\n”,x,y);
getch();
}
2.打开考生文件夹中的cprog052.c,完成其中的函数fun(),使其判断一个矩阵是否为对称矩阵,若矩阵对称返回1,不对称返回0。
说明:
矩阵a是一个二维数组,若其中的第k行第j列的元素与第j行第k列的元素相同,则称其为对称矩阵,否则为非对称矩阵。
如输入 6312如 输入6912
31883188
128734822
输出:
Yes输出:
No
#include
#include
intfun(inta[][3],intm)
{/**/
/**/
}
voidmain()
{inta[3][3],i,j;intb;
fun(a,20);
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf(”%d”,&a[i][j]);
b=fun(a,3);
if(b==1)printf(”Yes\n”);
elseprintf(”No\n”);
getch();
}
a第一套参考答案:
一、选择题
1.D 2.B 3.A 4.B 5.D
6.B7.A 8.B 9.B 10.B
11.C12.A13.A14.D15.D16.D
17.B18.A19.A20.A
二、改错题
1.j=0;if((str1[i]%2==0)&&(i%2==0))
2.if((i>10)&&(i%3==0))y+=1.0/i;
三、填空题
1.longintfor
2.(float)a/b;(int)
3.p+nmax<*qnum
四、编程题
1.doubley;
y=(1+sin(x)+exp(x))/(1+x);
returny;
2.inti,j,k=0,t;
for(i=0;iif(a[i]>-20){b[k]=c[k]=a[i];k++;}
for(i=0;ifor(j=i+1;jif(c[i]>c[j]){t=c[i];c[i]=c[j];c[j]=t;}
returnk;
第二套参考答案:
一、选择题
1.B 2.A 3.C 4.A 5.D
6.A 7.AC 8.B 9.D 10.A
11.B12.D13.A14.B15.C
16.B17.B18.D19.A20.A
二、改错题
1.inti,j,k;printf(“*”);
2.intfun()if(cock+hen+chicken==100)
三、填空题
1.403(b*10+a)
2.a=0,b=0;n!
=0b++;
3.0num-a
四、编程题
1.doubley;
y=(exp(x)+fabs(x-6))/(x+1.3);
returny;
2.chart[20];
if(strcmp(a,b)>0){strcpy(t,a);strcpy(a,b);strcpy(b,t);}
if(strcmp(a,c)>0){strcpy(t,a);strcpy(a,c);strcpy(c,t);}
if(strcmp(b,c)>0){strcpy(t,b);strcpy(b,c);strcpy(c,t);}
第三套参考答案:
一、选择题
1.C 2.D 3.B 4.A 5.B
6.A 7.A 8.B 9.B 10.C
11.D12.D13.D14.A15.B
16.D17.B18.A19.C20.A
二、改错题
1.charch;switch(ch)
2.chartab[4][2]t[j]=tab[i][1];
三、填空题
1.main()while
2.charstrstr[i]Λ15
3.floataverage(intpa[],intn);pa[k]
四、编程题
1.doubley;
if(x<5)y=exp(x)+0.9;
elseif(x==5)y=12.5;
elsey=((sin(x)-7.8)/(2*x);
returny;
2.inti,j,s=0;
for(i=101;i<=200;i++)
{for(j=2;j
if(i%j==0)break;
if(j>=i)s++;
}
returns;
第四套参考答案:
一、选择题
1.C 2.D 3.C 4.B 5.B
6.D 7.A 8.B 9.B 10.B
11.A12.B13.5+3=614.C15.D
16.117.C18.A19.A20.C
二、改错题
1.inti,len,sum=0;if(str1[i]>=’a’&&str[i]<=’z’)
2.scanf(“%d”,&a[i]);for(i=M-1;i>=0;i--)
三、填空题
1.charelseif
2.m-1a[j]3.floata,floatb,floatca*a
四、编程题
1.if(x>0)return(fabs(x)+3.2)/(sin(x)+2);
elsereturn0;
2.inti,j;
a[0]=a[1]=1;
for(i=2;ia[i]=a[i-1]+a[i-2];
第五套参考答案:
一、选择题
1.B 2.C 3.C 4.AC 5.D
6.A 7.B 8.D 9.B 10.A
11.A12.C13.D14.A15.C
16.B17.C18.C19.B20.D
二、改错题
1. charstr[100];sum++;
2.defineM5if(a[i]%2==0)
三、填空题
1.&xx*x
2.mk=jt
3.floatfmax(floatx,floaty,floatz);n=(y>z)?
y:
z;m=(x>n)?
x:
n;
四、编程题
1.doubley;
if(fabs(x)<700.0)y=sqrt(5.8+fabs(x))/(cos(x)+2.1);
elsey=-1;
returny;
2.该答案错误!
inti,j;
for(i=0;ifor(j=0;j
if(a[i][j]==a[j][i])return1;
elsereturn0;
应改为:
第六套参考答案:
一、选择题
1.D 2.A 3.B 4.C 5.D
6.A 7.A 8.C 9.D 10.D
11.C12.B13.B14.C15.B
16.C17.D18.B19.A20.C
二、改错题
1.for(i=0;i2.Ps1=s1;while(*ps1!
=NULL)
三填空题、
1.j0sum+=a[i][0];
2.intq(left+right)/2
3.floatrsqrt(x*x+y*y)
四、编程题
1.doubley;
if(x<2)y=x;
else
if(x<5&&y>=2)y=3-tan(3.5-x);
elsey=3*log10(x)-11;
returny;
2.charcode;
floatc;
c=(f-32)*5.0/9;
if(c<0)code=’W’;
if(c>=0&&c<25)code=’B’;
if(c>=25&&c<35)code=’0’;
if(c>=35)code=’R’;
returncode;
第七套参考答案:
一、选择题
1.D 2.B 3.A 4.B 5.A
6.C 7.A 8.C 9.B 10.D
11.D12.B13.D14.A15.D
16.A17.D18.B19.B20.B
二、改错题
1.scanf(“%f”,&a[i]);if(a[0]+a[1]>a[2]&&a[1]+a[2]>a[0]&&a[0]+a[2]>a[1])
2.intfun()if(large+middle+small==100)
三、填空题
1.#includereturn(x*x-2*x+6);sin(x)
2.p*=i;p=p*1.0/i;
3.findmax(a,sizeof(a)/sizeof(int))max=*array或max=array[0]
四、编程题
1.doulbey;
if(x<=1600)y=0;
if(x>1600&&x<=2100)y=(x-1600)*0.05;
if(x>2100&&x<=3100)y=(x-1600)*0.1-25;
if(x>3100)y=(x-1600)*0.15-125;
returny;
2.inti,j,s=0,k=0;
for(i=0;ifor(j=0;j
if(a[i][j]<0)continue;
elseif(a[i][j]==0)break;
else{b[k++]=a[i][j];s=s+a[i][j];}
for(i=0;ireturns;
第八套参考答案:
一、选择题
1.C 2.B 3.B 4.B 5.B 6.D 7.C 8.C 9.C 10.C
11.C12.A13.D14.C15.A16.A17.D18.A19.C20.C
二、改错题
1.for(i=100;i<=200;i++)rintf(“%d\n”,i);
2.intswap(intp1,intp2)*p1=*p2;
三、填空题
1.sum=0returnsum;sum(m)
2.kj=strlen(str)-1
3.STUtempps[i].num>ps[i+1].numflag==0
四、编程题
1.doubley;
if(x<0)y=(x+2)*exp(x);
elsey=(x+2)*log(2*x);
returny;
2.char*a[5];
chart[20];
inti,j;
for(i=0;ifor(i=0;ifor(j=i+1;jif(strcmp(a[i],a[j]>0)
{strcpy(t,a[i]);strcpy(a[i],a[j]);strcpy(a[j],t);}
第九套参考答案:
一、选择题
1.C 2.A 3.C 4.B 5.D 6.A 7.C 8.D 9.B 10.A
11.A12.B13.B14.B15.B16.A17.D18.A19.C20.D
二、改错题
1.inta=0,c=0;printf(“totalofoddnumber:
%d\n”,c-101);
2.for(z=0;z<10;z++)if(i==result)
三、填空题
1.max=min=a[0][0];max2.s=0i+t*10
3.longfib(intn)
{if(n==1||n==2)return1;
elsereturnfib(n-1)+fib(n-2);}
四、编程题
1.doublex1,x2;
x1=(-b
|