长春市中考满分作文程序设计与C语言课本课后习题答案_第1页
长春市中考满分作文程序设计与C语言课本课后习题答案_第2页
长春市中考满分作文程序设计与C语言课本课后习题答案_第3页
长春市中考满分作文程序设计与C语言课本课后习题答案_第4页
长春市中考满分作文程序设计与C语言课本课后习题答案_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章

l.(l)AB(2)A(3)ABC(4)D(5)BC(6)没答案(7)ABC

第二章

l.(l)AD(2)A(3)BD(4)A(5)A(6)ABCD

第三章

l.(l)D(2)C(3)A(4)BD(5)B(6)C(7)ABC(8)AD(9)B(10)ABC(11)B(12)B

(13)D(14)AD(15)D

第四章

1.(1)D(2).B(3)ACD(4)D(5)B(6)BC(7)C(8)A(9)A(10)B

2.(1)A=3B=31C=771,0D=0E=1

⑵A.a+b=字符型B.a+i=52整型C.a+x=52.5实型D.a+y=57.3实型E.x+i=6.5实型

F.2*x=7.0实型G-a-i=-52整型H.x+y/x-y=-2.428571实型I.j/y=0.602410实型

Joj/b=O整型K。(a+b)%i=l整型L。a%(int)y=l整型M。(<a,-1)%b=0整型

(3)2.5

(4)4.000000

3.#include<stdio.h>

#include<math.h>

intmain()

(

inta=l,b=5,c=6;

floatj,k,xl,x2;

j=b*b-4*a*c;

(

k=sqrt(j);

xl=(-b+k)/(2*a);

x2=(-b-k)/(2*a);

printf("x1=%f\nx2=%f\n”,xl,x2);

)

return0;

)

4.#include<stdio.h>

intmain()

(

floatr,v,p=3.14;

scanf(n%f;&r);

v=(float)4/3*p*r*r*r;

printf(”%f»;

return0;

)

5.#include<stdio.h>

intmain()

(

doublenum;

longa,b,c,d;

scanf("%lf”,&num);

a=(int)num/l0%10;

b=(int)num%10;

c=(int)(num*10)%10;

d=(int)(num*100)%10;

printf(Ha=%ld\nb=%ld\nc=%ld\nd=%ld\n",a,b,c,d);

return0;

6.#include<stdio.h>

intmain()

(

charch,BackCh;

ch=getchar();

if(ch>64&&ch<91)

BackCh=(ch-64)%26+65;

if(ch>96&&ch<123)

BackCh=(ch-96)%26+97;

putchar(BackCh);

return0;

)

7.#include<stdio.h>

#include<math.h>

intmain()

(

inta,b,c;

floatp,s;

scanf(H%d%d%d",&a,&b,&c);

p=(a+b+c)/2;

s=sqrt(p*(p-a)*(p-b)*(p-c));

printf(M%f',s);

return0;

8.#include<stdio.h>

inimain()

floatL,S,p=3.14;

scanf(n%r,&L);

S=L*L/(4*p);

printf("%口S);

return0;

)

9.#include<stdio.h>

intmain()

floatF,c;

scanf(n%fn,&F);

c=(F-32)*5/9;

printf("%2F,c);

return0;

)

第五章

l.(l)A(2)D(3)D(4)A(5)D(6)C(7)C(8)A(9)B(10)BCD

2.

(1)23,19,13

(2)60,48,30,0

(3)3.141593,4159e+01,3.14e+01

(4)3,314

⑸2

(6)1,空格,2

(7)98,543

(8)1

(9)10

(1)

#include"stdio.h"

intmain()

(

float1,area,perimeter;

printf(npleaseinputl:\n");

scanf(H%r,&l);

area=l*l;

perimeter=4*l;

printf(MThearea:%f\nTheperimeter:%f\n",area,perimeter);

return0;

)

(2)

#include,,stdio.h,,

intmain()

(

floatr,v;

printf("pleaseinputr:\nn);

scanf("%f',&r);

v=4.0/3.0*3.14*r*r*r;

printf(nvis:%.3f\n",v);

return0;

)

(3)

#include"stdio.h"

intmain()

(

chara;

printf(npleaseinputsmallletter:\nu);

scanf(n%cu,&a);

if(a<=122&&a>=97)

printf(Hcapitalization:%c\n",a-32);

elseprintf("false!n);

return0;

}

(4)

#include,,stdio.h"

intmain()

(

floata,b2,b3,b4;

printf("pleaseinputanum:\nH);

scanf(n%f',&a);

b2=a*a;

b3=b2*a;

b4=b2*b2;

printf("resultis:\n");

printf(n%10.3f\n%10.3f\n%10.3f\nu,b2,b3,b4);

return0;

)

(5)

#include"stdio.h"/*数字按4位*/

intmain()

(

inta,temp;

printf(npleaseinputapositive:\nH);

scanf("%d”,&a);

temp=a%10;

if(temp==0)

printf("%d%d%d\nH,a/10%10,a/100%10,a/1000%10);

elseprintf(,'%d%d%d%d\nu,a%10,a/10%10,a/100%10,a/1000%10);

return0;

)

第八早

L(1).A;(2).D;(3).C;(4).D;(5).A、C;(6).B;(7).B;(8).D;(9).C;(10).C;

2.

(1).100,10,0,-9

(2).100,-9,10,0

(3).<math.h>2break1break0"theequationhasnorealroots"

3.

(1)

if语句:

#include<stdio.h>

intmain()

(

inta,b,c,flag;

printf("Inputabc:\n");

scanfC'%d%d%dn,&a,&b,&c);

if(a>0&&b>0&&c>0)

(

if((a<(b+c))&&(b<(a+c))&&(c<(a+b)))

(

if((a==b)ll(a==c)ll(b==c))

printf(Hflag=2M);

else

printf(Mflag=lH);

else

printf(nflag=On);

)

else

printfC'Worrynumber");

return0;

)

switch语句:

#include<stdio.h>

intmain()

(

inta,b,c,flag;

printfC'Inputabc:\n");

scanf("%d%d%d",&a,&b,&c);

if(a>0&&b>0&&c>0)

(

if((a<(b+c))&&(b<(a+c))&&(c<(a+b)))

(

switch(a==blla==cllb==c)

(

case1:

printf(nflag=2n);

break;

case0:

printf(,'flag=r,);

break;

)

)

else

printf("flag=On);

)

else

printf(MWorrynumber");

return0;

)

(2)

if语句:

#include<stdio.h>

intmain()

inta,result;

printf(MInputanum:\n");

scanf("%d”,&a);

if(a%2==0)

printf("%d”,a);

else

printf(n%dH,a*2);

return0;

)

switch语句:

#include<stdio.h>

intmain()

(

inta,result;

printf(MInputanum:\n");

scanf("%d”,&a);

switch(a%2==0)

(

case1:

printf(n%dn,a);

break;

case0:

printf("%d",a*2);

break;

}

return0;

)

(3)

if语句:

#include<stdio.h>

intmain()

(

inta,b,c;

printf(nInputabc:\rT);

scanf(n%d%d%d",&a,&b,&c);

if((a>=b)&&(b>=c))

printf(M%d%d%d”,a,b,c);

elseif((a>=c)&&(c>=b))

printf(n%d%d%dn,a,c,b);

elseif((b>=a)&&(a>=c))

printf(M%d%d%d",b,a,c);

elseif((b>=c)&&(c>=a))

printf(M%d%d%dn,b,c,a);

elseif((c>=a)&&(a>=b))

printf("%d%d%d",c,a,b);

elseif((c>=b)&&(b>=a))

printf("%d%d%d”,c,b,a);

return0;

)

switch语句:

#include<stdio.h>

intmain()

(

inta,b,c;

printf(nInputabc:\n");

scanf(M%d%d%du,&a,&b,&c);

switch((a>=b&&b>=c)*l+(a>=c&&c>=b)*2+(b>=a&&a>=c)*3+(b>=c&&c>=a):}:4+(c>=a&&a>

=b)*5+(c>=b&&b>=a)*6)

(

case1:

printf(H%d%d%dH,a,b,c);

break;

case2:

printf(w%d%d%d",a,c,b);

break;

case3:

printf(n%d%d%d",b,a,c);

break;

case4:

printf(H%d%d%dn,b,c,a);

break;

case5:

printf(H%d%d%d",c,a,b);

break;

case6:

printf(M%d%d%d",c,b,a);

break;

}

return0;

)

(4)

if语句:

#include<stdio.h>

intmain()

(

floatresult;

printf(nInputresult:\nH);

scanf("%f”,&result);

if((result>=90)&&(result<=100))

printf(nAM);

elseif(result>=80)

printf("Bn);

elseif(result>=70)

printf("CH);

elseif(result>=60)

printf("DH);

elseif(result>=0)

printf(MEu);

else

printf(HWorrynumber");

return0;

)

switch语句:

#include<stdio.h>

intmain()

(

floatresult;

printf(MInputresult:\n");

scanf("%f",&result);

if(result>=O&&result<=100)

{

switch((result>=90&&result<=100)*14-(result<90&&result>=80)*2+(result<80&&result>=70)*3

+(result<70&&result>=60)*4+(result<60&&result>=0)*5)

(

case1:

printf("AM);

break;

case2:

printf(1,BH);

break;

case3:

printf(MCH);

break;

case4:

printf(nD");

break;

case5:

printf(MEu);

break;

)

else

printf("Worrynumber'1);

return0;

注:switch语句我也不经常使用,写的可能不是很简便,不过都能通过测试。

第七章

1.(1)B(2)AC(3)B(4)B(5)C(6)D(7)D(8)B(9)C(10)C

2.(1)6

⑵i=l;i<=ll;i=i+l

(3)0356910121518

(4)11

(5)5

(6)3

3.(1)

#include<stdio.h>

intmain()

(

inti,p=l;

for(i=l;i<21;i=i+2)

(

/*if(i%2)

p=p*i;*/

p=p*i;

)

printf("\np=%d",p);

getch();

)

(2)

#include<stdio.h>

Intmain()

(

intsum=0,i;

for(i=7;i<50;i=i+7)

sum=sum+i;

printf(M\nsum=%dn,sum);

getch();

)

#include<stdio.h>

Intmain()

(

inti=l,j;

longsum=0;

longk;

do{

j=1;

k=1;

do

{

k=k*j;

j=j+1;

}while(j<=i);

printf("\n%d!=%ldM,i,k);

sum=sum+k;

i=i+1;

}while(i<=10);

printf(n\nsum=%ld",sum);

getch();

)

(4)

#include<stdio.h>

Intmain()

(

inti;

floatj=1600;

for(i=l;i<6;i++)

j=j*(l+0.03);

printf(n\nj=%f;j);

getch();

)

(5)

#include<stdio.h>

Intmain()

(

inti;

for(i=l;i<=100;i++)

if((i%2==0)&&(i%3==0)&&(i%5==0))

printf("\n%dM,i);

getch();

(6)

#include<stdio.h>

intmain()

(

int,num;

printf(t4inputanumber:");

scanf("%d”,&num);

for(i=2;i<=num;i=i+1)

(

If(num%i==O)

{printf("%disnotaprime”,num);

break;

if(i==num)

printf(4<%disaprime\n",num);

return0;

)

(7)

#include<stdio.h>

Intmain()

(

inti;

for(i=1;i<=100;i++)

if((i%2==0)&&(i%3==0)&&(i%5==0))

printf(n\n%d',,i);

getch();

)

(8)

#include<stdio.h>

intmain()

inta,b,c;

for(;;)

(

printf("\npleaseinputabc:\n");

scanf(M%d%d%dn,&a,&b,&c);

if((a<0)II(b<0)II(c<0))

break;

if((a+b>c)&&(a+c>b)&&(b+c>a))

printf("\nitcanbeatriangle");

else

printf(n\nitcan'tbeatriangle");

)

printf(nend");

getch();

)

(9)

#include<stdio.h>

intmain()

(

inta;

intnum=0;

for(;;)

(

printf(M\npleaseinputanumberAn");

scanfC%du,&a);

if(a==-99)break;

if(a>0)num=num+1;

)

printf(nnum=%d",num);

getch();

)

(10)

#include<stdio.h>

Intmain()

(

inti,j;

for(i=0;i<4;i++)

(

j=0;

printfCXn1');

do{

printf(H*u);

j=j+l;

}while(j<7);

)

getch();

(11)

#include<stdio.h>

Intmain()

(

inti=l;

intj,k;

while(i<5)

(

printf("\n");

j=0;

do{

printf("");

j=j+l;

}while(j<=4-i);

k=0;

do{

printf(M*u);

k=k+1;

}while(k<7);

i=i+1;

)

getch();

(12)

#include<stdio.h>

Intmain()

(

inti=l;

intj,k;

do

printf(n\nu);

for(j=0;j<=4-i;j++)

printfC*'*);

for(k=0;k<i;k++)

(

printf("%d",i);

printf(H0);

)

i=i+1;

}while(i<5);

getch();

)

第八章

3.

(1)

#include<stdio.h>

intsum(intx,inty)

{inta;

a=x*x+y*y;

returna;

)

intmain()

(

inta,b,c;

scanf("%d%d",&a,&b);

c=sum(a,b);

printf(1'%du,c);

return0;

)

(2)

#include<stdio.h>

floatVolume(floatr)

(

floatv;

v=4.0*3.14*r*r*r/3;

returnv;

)

intmain()

{floatv,r;

scanf("%F,&r);

v=Volume(r);

printf(M%f',v);

return0;

)

(3)

#include<stdio.h>

floatarea(floata,floatb,floatc)

{floats;

if(a*b*c!=0)

{s=2*(a*b+b*c+c*a);}

returns;

)

intmain()

(

floata,b,c,d;

scanf("%f%f%f;&a,&b,&c);

d=area(a,b,c);

printf("%口d);

return0;

)

(4)

#include<stdio.h>

#include<math.h>

intshushu(inta)

(

floatb;b=sqrt(a);

inti;

for(i=2;i<=b;)

{if(a%i!=0)

i++;

elsereturn0;

)

returna;

)

intmain()

(

inti,j=l,b[100]={0},c;

for(i=2;i<=100;i++)

(

c=shushu(i);

if(c!=0)

{b[j]=c;

j++;}

for(j=l;j<=100;j+4-)

{if(b[j]!=O)

printf(n%4d",b[j]);

if(j%5==0)

printf(',\n,');

)

return0;

)

(5)

#include<stdio.h>

#include<math.h>

intnumber(inta)

{floatb;b=sqrt(a);

if(b-(int)b==0)

returna;

elsereturn0;

)

intmain()

(

inti,j=l,c,b[100]={0},n;

for(i=2;i<=l00;i++)

(

c=number(i);

if(c!=0)

{b|jj=c;

j++;}

}for(j=1;j<=100;j++)

{if(bU]==0)

{n=j;break;}}

for(j=l;j<n;j++)

{if(bUJ!=O)

printf(n%4dn,b[j]);

if(j%5==0)

printf(n\nH);

)

return0;

第九章

(1)B(2)A,C(3)A(4)D(5)B(6)B(7)C(8)C

2.

(l)a[5]改为a[]={1,3,5,7,9},因为a[5]是一个数组元素;

(2)定义一个实型数组,数组长度为10;定义一个字符数组,数组长度为10;

(3)1amaboy

(4)357

(5)13715

(6)123

056

009

3.

(1)

#include<stdio.h>

intmain()

(

longa[20],sum=0;

inti;

a[l]=l;

for(i=l;i<=20;i++)

(

sum=sum+a[i];

a[i+l]=sum;

}

for(i=1;i<=20;i++)

{printf(n%ld",a[i]);)

return0;

)

(2)

#include<stdio.h>

intmain()

(

inti,a[10],sum=0,max,min;

intm=l,n=l;

floatav;

for(i=l;i<=10;i++)

{scanf("%dn,&a[i]);}

for(i=l;i<=10;i++)

{sum=sum+a[i];}

av=sum/10.0;

max=a[1];min=a[1];

for(i=2;i<=10;i++)

{if(max<a[i]){max=a[i];m=i;}

if(min>a[i]){min=a[i];n=i;}

printf("sum=%d,average=%d'r,sum,av);

return0;

(3)

#include<stdio.h>

#defineM5

intmain()

(

inti,a[M],b[M];

for(i=0;i<M;i++)

scanf(u%d",&a[i]);

for(i=M-1;i>=0;i—)

{b[M-l-i]=a[i];}

for(i=0;i<M;i++)

{printf("%dn,b[i]);}

return0;

I

(4)

#include<stdio.h>

boolprime(intn)

(

inti;

for(i=2;i<n;i++)

{if((n%i)==O)returnfalse;}

returntrue;

)

intmain()

(

intt,n;

for(n=2;n<300;n++)

(

if(prime(n)==true)

(

printf("%d\n",n);

}

)

scanf("%d'\&n);

return0;

)

(5)

#include<stdio.h>

#definen10

#definem5

intmain()

inti,j,t,a[n],b[n]={0};

for(i=l;i<=n;i+4-)

{scanf("%d'\&a[i]);}

for(i=l;i<=n;i++)

{b[i]=a[i];}

for(i=l;i<=n-l;i++)

for(j=i+1;j<=n;j++)

{if(b[i]<bU])t=b[i];b[i]==bU];bU]=t;)printf(''%d\n^b[m]);

for(i=l;i<=n;i++)

{if(a[i]>b[m])

printf(nscore=%dxuehao=%dM,a[i],i);}

return0;

)

(6)

#include<stdio.h>

intmain()

(

inti,j,n,a[20][20]={0};〃开一个20*20的数组

scanf("%d",&n);

for(i=l;i<=n;i++)

{for(j=l;j<=n;j++)

(

if((i==j)ll(i+j)==(n+1))a[i][j]=l;

elsea[i][i]=0;

printf(M%d-);

}printf(n\n,');

}

return0;

)

(7)

#include<stdio.h>

#include<string.h>

intmain()

(

chara[100];

inti,t,m=0,n=0;

gets(a);

t=strlen(a);

for(i=0;i<t;i++)

(

if((>a,<=a[i]&&a[i]<=,z,)ll('A,<=a[i]&&a[i]<='Z,))m++;

if(,0,<=a[i]&&a[i]<=,9,)n++;

}printf("m=%d,n=%d",m,n);

return0;

(8)

#include<stdio.h>

intmain()

(

inti,t=0,a[10];

for(i=0;i<ll;i++)

scanf(n%dn,&a[i]);

for(i=0;i<10;i++)

(

if(a[i]==a[10])t++;

}printf(ut=%d\nn,t);

return0;

}

(9)

#include<stdio.h>

intmain()

(

inti,j,a[4][4],b[4][4];

for(i=0;i<4;i++)

for(j=0;j<4;j++)

scanf("%d",&a[i][j]);

for(i=0;i<4;i++)

for(j=0;j<4;j++)

{bU][i]=a[i][j];)

for(i=0;i<4;i++)

{for(j=0;j<4;j++)

{printfC%5d\b[i][j]);}

printf("\nH);

)

return0;

I

(10)

#include<stdio.h>

intmain()

(

inti,j,a[3][3],b[3][3],c[3][3],d[3][3],e[3][3]={0};

for(i=0;i<3;i++)

for(j=0;j<3;j++)

scanf(”%d”,&a[i][j]);primf("inputb[][]:\nn);

for(i=0;i<3;i++)

for(j=0;j<3;j++)

scanf(n%d",&bfi][j]);

for(i=0;i<3;i++)

for(j=0;j<3;j++)

{intk;

c[i]fj]=a[i][j]+b[i][j];

d[i]U]=a[i][j]-b[i]|j];

for(k=0;k<3;k++)

{e[i][j]+=a[i]lj]*b[j][i];}

)

for(i=0;i<3;i++)

{for(j=0;j<3;j++)

{printf("%5d"<c[i][j]);}printf("\n");

)

for(i=0;i<3;i++)

(

for(j=0;j<3;j++)

{printf("%5d",d[i][j]);}printf("\n");

)

for(i=0;i<3;i++)

(

for(j=0;j<3;j++)

{printf("%5d",e[i][j]);}printf("\n");

)

return0;

)

(11)

#include<stdio.h>

intmain()

(

inti,j,m,n,col,flag,inflexion,a[100][100];

scanf("%d%d",&m,&n);

for(i=0;i<m;i++)

for(j=0;j<n;j++)

scanf("%d",&a[i][j]);

printf("thea[][]is:\n");

for(i=0;i<m;i++)

{

for(j=0;j<n;j++)

{printf("%5d",a[i][j++]);}printf("\n");

)

i=0;

while(i<m)

(

flag=l;inflexion=a[i][0];

col=0;

for(j=0;j<n;j++)

a[i][j]<inflexion?(inflexion=a[i][j],col=j):l;

for(j=0;nag==l&&j<m;j++)

{if(inflexion<a[j][col])flag=O;}

if(llag==l)

{printf(u%d(row=%d,col=%d)isainflexion.\nM,a[i][col],i+1,col+1);}

else

printf(nthereisnoinflexioninrow%d.\n',,i+l);

i++;

{return0;

)

(12)

#include"stdio.h”

#include<string.h>

intmain(intargc,char*argv[])

(

charstr[100];

gets(str);

charstr1[256];

char*sp;

printf(n[%s]\nn,str);

sp=str;

while(strstr(sp,n")!=NULL)

(

sp=strstr(sp,"");

strcpy(strl,sp+1);

sprintf(sp,"%su,strl);

)

printf(',[%s]\nn,str);

return0;

)

第十章

1.(l).BCD(2).C(3).D(4).B(5).A(6).B

2.(1)两者均有多个成员,但结构体中成员数据类型可不相同。

(2)两者均有多个成员变量,但结构体的各个成员有独立的存储空间,并切连续存放的;

而共用体的各个成员共享同一段存储单元。

(3)25

(4)5t

(5)stulij.num,stu[i].name

(6)6

(7)—1,11

(8)不确定,因存储单元中共用体变量的值,是最后一次装入成员变量的值。

3.(1)

#include<stdio.h>

#include<math.h>

main()

(

structtheday

{inty;

intm;

intd;}td;

printf(”请输入年月日(数字之间以,隔开)

scanf("%d,%d,%d”,&td.y,&td.m,&td.d);

if(td.y%4==0&&td.y%100!=0lltd.y%400==0)〃闰年

switch(td.m)

{case1:printf(u%d\n",td.d);break;

case2:printf("%d\nn,31+td.d);break;

case3:printf("%d\nn,31+29+td.d);break;

case4:printf("%d\n",31*2+29+td.d);break;

case5:printf("%d\n*',31*2+30+29+td.d);break;

case6:printf("%d\nn,31*3+30+29+td.d);break;

case7:printf('1%d\nu,31*3+30*2+29+td.d);break;

case8:printf(n%d\nu,31*4+30*2+29+td.d);break;

case9:printf(n%d\n",31*5+30*2+29+td.d);break;

case10:printf(H%d\nH,31*5+30*3+29+td.d);break;

case11:printf(H%d\n",31*6+30*3+29+td.d);break;

case12:printf(n%d\n”,31*6+30*4+29+td.d);

switch(td.m)

{case1:printf("%d\n",td.d);break;

case2:printf("%d\n",31+td.d);break;

case3:printf("%d\n",31+28+td.d);break;

case4:printf("%d\n",31*2+28+td.d);break;

case5:printf("%d\nu,31*2+30+28+td.d);break;

case6:printf("%d\n*',31*3+30+28+td.d);break;

case7:printf("%d\n",31*3+30*2+28+td.d);break;

case8:printf("%d\n”,31*4+30*2+28+td.d);break;

case9:printf(M%d\nH,31*5+30*2+28+td.d);break;

case10:printf(H%d\nn,31*5+30*3+28+td.d);break;

case1l:printf(u%d\n",3P6+30*3+28+td.d);break;

case12:printf(n%d\n”,31*6+30*4+28+td.d);

(2).

#include<stdio.h>

structstudentstu[3];

(

intage;

floatclass1;

floatclass2;

floatclass3;

floatclass4;

floattotal;

floataverage;

};

intmain()

(

structstudentstu[3];

inti;

for(i=0;i<3;i++)

(

printl'CAnPleaseinputnumofstudent%d:\n”,i);

scanf("%ld”,&stu[i].num);

printf(44\nPleaseinputnameofstudent%d:\n,,,i);

scanf("%s'',stu[i].name);

printfC'VnPleaseinputageofstudent%d:\n”,i);

scanf("%d'',&stu[i].age);

printf(44\nPleaseinputclass1ofstudent%d:\n,,,i);

scanf("%F',&stu[i].class1);

printf(44\nPleaseinputclass2ofstudent%d:\n,\i);

scanf(<<%f,,&stu[i].class2);

printfCAnPleaseinputclass3ofstudent%d:\n,,,i);

scanf(u%f\&stu[i].class3);

printf('4\nPleaseinputclass4ofstudent%d:\n,\i);

scanf("%F',&stu[i].class4);

)

for(i=0;i<3;i++)

(

stu[i].total=stu[i].classl+stu[i].class2+stu[i].class3+stu[i].class4;

stu[i].average=stu[i].total/4;

printf("\n”);

printf(44%81d”,stu[i].num);

printf(“%8s”,stu[i].name);

printf(44%7.2f\stu[i].total);

printf(<<%7.2f,,stu[i].average);

)

getchar();

return0;

(3)

#include,'stdio.hH

#include"slring.h,'

structstudent

{longid;

charname[20];

intyear;

intmonth;

intday;

);

structstudentstud[100];

intmain()

{inti,n;

printf("输入有N个学生数)

scanfC'%d",&n);

printf("请输入:学号姓名出生年月日\n”);

for(i=0;i<n;i++)

scanf("%ld%s%d%d%d,\&stud[i].id,&stud[i].name,&stud[i].year,&stud[i].month,&stud[i].day);

printf("学号姓名出生年月日\n”);

for(i=0;i<n;i++)

printf(n%ld%s%d%d%d\nn,stud[i].id,stud[i].name,stud[i].year,stu

d[i].month,stud[i].day);

return0;

)

(4)

#include<stdio.h>

intmain()

(

struct

(

charname[10];

intid;

charjob;

union

(

intgrade;

charoffice[10J;

}depa;

}body[4],temp;

intn,i,num,j;

for(i=0;i<4;i++)

printf("inputname,id,jobanddepartment\n");

scanf("%s%d%cH,body[i].name,&body[i].id,&body[i].job);

if(body[i].job==,s')

scanf("%d",&body[i].depa.grade);

else

scanf("%s”,body[i].depa.office);

)

printf("name\tagejobclass/office\n");

for(num=0;num<4;num++)

(

for(j=0;j<4-num;j++)

(

if(body[j].id<body[j+l].id)

(

temp=bodyfj];

body[j]=body[j4-l];

body[j+l]=temp;

)

)

)

for(i=0;i<4;i++)

(

if(body[i].job==,s')

printf(',%s\t%3d%3c%d\n'\body[i].name,body[i].id

,body[i].job,body[i].depa.grade);

else

printf(M%s\t%3d%3c%s\nH,body[i].name,body[i].id,

body[i].job,body[i].depa.office);

)

}

(5)

#include<stdio.h>

#include<string.h>

structstudent

(

longnum;

charname[10J;

intage;

charsex;

}stu[3]={{9527;'zhang,,,15;m,},{9528,"wang",16;m,},{9910;'li,|,15,'m'}};

intmain()

{inti;

structstudenta;

for(i=0;i<3;i++)

{a=stu[i];

printf("%ld%s%d%c\nn,a.num,,a.age,a.sex);

)

return0;

)

(6)

#include<stdio.h>

#include<math.h>

structpoint{floatx;floaty;};

floatdist(floatx1,floatyl,floatx2,floaty2)

{floatd;

d=sqrt((xl-x2)*(x1-x2)+(y1・y2)*(yl-y2));

printf(M%f,,d);

)

main()

(

structpointpl,p2;

printf(Hinputfirstpoint:\n");

scanf(n%f,%f;&p1.x,&pl.y);

printf("inputsecondpoint:\n");

scanf(n%f,%f;&p2.x,&p2.y);

dist(pl.x,pI.y,p2.x,p2.y);

}

第十一章

l.(l)A(2)C(3)A(4)A(5)B

2.(1)20(2)5,3,-2(3)char*p=&ch;p=&ch;*p=a;scanf("%c”,&ch);printfC%c,,,*p);

3.(1)

#include<stdio.h>

voidmain()

(

intnum[3],i,j,a;

int*pl,*p2;

printf(n\n请输入3个数:\n");

for(i=0;i<3;i++)

scanf(”%d\&num[i]);

printf("\n显示排序后的数:\n”);

for(i=0;i<3;i++)

(

pl=&num[O];

p2=&num[0];

for(j=0;j<3-i-l;j++)

(

p2++;

if(*pl>*p2)

(

a=*p2;

*p2=*pl;

*pl=a;

1

pl++;

)

)

for(i=0;i<3;i++)

(

printf("%dn,num[i]);

)

printf(n\nn);

)

(2)

#include<stdio.h>

voidsort(float*p,float*q)

{floattemp;

if(*p>*q)

{temp=*p;

*p=*q;

*q=temp;}

)

intmain()

{inti;

floata[3];

for(i=0;i<3;++i)

scanf("%r,&a[i]);

sort(&a[0],&a[l]);

sort(&a[l],&a[2]);

sort(&a[0],&a[l]);

for(i=0;i<3;++i)

return0;}

(3)

#include<stdio.h>

voidswap(int&a,int&b)

{intt;

t=a;a=b;b=t;

)

voidmain()

{intx=5,y=6;

swap(x,y);

printf(,,x=%d,y=%d",x,y);

)

(4)

#include<stdio.h>

voidmaxmin(floata[3],float*pmax,float*pmin)

(

inti;

*pmax=*pmin=a[O];

for(i=l;i<3;++i)

{if(*pmax<a[i])

*pmax=a[i];

if(*pmin>a[i])

*pmin=a[i];}

intmain()

{inti;

floata[3],max,min;

for(i=0;i<3;++i)

scanf(n%fn,&a[i]);

maxmin(a,&max,&min);

printf("%f\n%fn,max,min);

return0;}

(5)

#include<stdio.h>

intcalc(inta,intb)

(

printf("%d\nM,a+b);

printf(n%d\n",a-b);

printf("%d\nM,a*b);

printf(,f%f\n",(float)a/b);

)

voidmain()

{inta,b;

charop;

scanf("%d,%d';&a,&b);

calc(a,b);

)

第十二章

l.(l)C(2)D(3)B(4)AD(5)AB(6)sizeof的值为11(ABCD都不对)

2.(1)打开,读,添加,写,关闭(2)打开一个文件(3)将字符ch写入fp所指向的

文件中,成功,则返回该字符;否则返回非零值;(4)fseek(文件指针,位移,起始点)

(5)rewind

3.

(1)

#include<stdio.h>

intmain()

{FILE*fp;

charch;

if((fp=fopen(Md:\\tc\\test.txtH,"w"))==NULL

)

{printf("Openfileerror,pressanykeyexit!,1);

getchar();

exit(0);

)

printf("inputastring:\n");

ch=getchar();

while(ch!=#)/*”#”作为字符串的结束*/

(

if(((ch>='")&&(chv=N))II((ch>='A,)&&(ch

<='Z'))

fputc(ch,fp);

ch=getchar();

)

fclose(fp);

return0;

)

(2)

#include<stdio.h>

intmain()

{FILE*fp;

charch;

if((fp=fopen("d:WtcWtest.txt'1,"w"))==NULL)

{printf("Openfileerror,pressanykeyexit!”);

getchar();

exit(0);

)

printf("inputastring:\n");

ch=getchar();

while(ch!=#)/*"#”作为字符串的结束*/

(

if((ch>='a')&&(ch<='z'))

fputc(ch-32,fp);

else

fputc(ch,fp);

ch=getchar();

)

fclose(fp);

retum0;

)

(3)

#include<stdio.h>

intmain()

(

charname[100],number[100];

inti,math,English,Chinese;

FILE*fp;

fp=fopen(,'students.txt',,"wt'');

for(i=l;i<3;i++)

(

scanf(n%s%s%d%d%dn,&number,&name,&math,&chinese,&English);

fprintf(fp,"%s%s%d%d%d\n'\number,name,math,Chinese,English);

)

fclose(fp);

retum0;

)

(4)

#include<stdio.h>

intmain()

(

inti,j,k,l;

intsum[12]={0};

intmath,Chinese,English;

intmaths[12],chineses[12],Englishs[12];

charnumberl100J,namel100J;

charnumbers[12][100],names[12][l00];

chars;

FILE*fp;

fp=fopen("students.txt",“rt");

for(i=l;i<3;i++)

(

fscanf(fp,"%s%s%d%d%d",number,name,&math,&chinese,&English);

sum[i]=sum[i]+math+chinese+English;

for(j=0;j<100;j++)

(

numbers[i][j]=number[j];

names[i][j]=name[j];

)

maths[i]=math;

chineses[i]=chinese;

Englishs[iJ=English;

)

fclose(fp);

for(i=l;i<2;i++)

for(j=i+l;j<3;j++)

if(sum[i]<sum[j])

{k=maths[i];

maths[i]=maths[j];

maths[j]=k;

k=chineses[i];

chineses[il=chineses|j];

chineses[j]=k;

k=Eng!ishs[i];

Englishs[i]=Englishs[j];

Englishs[j]=k;

for(k=0;k<100;k++)

{s=numbers[i][k];

numbers[i][k]=numbers[j][k];

numbers[jl[k]=s;

s=names[il[k];

names[i][k]=names[j][k];

names[j][k]=s;

)

)

fp=fopen(',sort.txt,',Hwtn);

for(i=l;i<3;i++)

fprintf(fp,M%s%s%d%d%d\nH,numbers[i],names[i],maths[i],chineses[i],Englishs[i]);

fclose(fp);

return0;

}一

(5)

#include<stdio.h>

intmain()

(

inti,j,k,l;

intmath,Chinese,English;

charnumber[100],name[100];

FILE*印;

fp=fopen(nsort.txt,,,"rtn);

for(i=l;i<3;i++)

(

fscanf(fp,"%s%s%d%d%d",number,name,&math,&chinese,&English);

switch(i)

(

casel:printf("%s%s%d%d%d\n'\number,name,math,Chinese,English);break;

case5:printf(u%s%s%d5d%d\nn,number,name,math,Chinese,English);break;

case8:printf(M%s%s%d%d%d\n'\number,name,math,Chinese,English);break;

)

)

fclose(fp);

return0;

}T

(6)

#include<stdio.h>

intmainO

(

inti,j,k,l;

chara[100][100],s,t;

FILE*fp;

fp=fopen("test.c","wt+");

i=l;j=l;

while(fcanf(fp,"%c",&a[i][j])!=EOF)

{

if(a[i]Ul=="/")

(

j++;

fscanf(fp,"%c",&a[ij|jj);

if(a[i]U]=="*")

(

a[i][j-l]="";

aliJUJ="";

do

j++;

fscanf(fp,"%c",&a[i][j]);

if(a[i]|j]!="/")a[i]fj]="

elsebreak;

)while(l>0);

)

if(a[i]U]=="\n"){i++;j=l;}

return0;

)-

第十三章

1.(1)A(2)CD(3)D(4)A(5)B(6)A(7)B(8)D(9)B(10)A(11)C

(12)A(13)A

2.(1)00011111(2)100(3)11000(4)6(5)00000000000000110010000000000101

3.(1)

#include<stdio.h>

main()

longi=l,n,s=0;

scanf(u%ld*\&n);

while(i<=n)

s+=i++;

printf(”%ld'n”,s);

)

(2)

#include<stdio.h>

main()

longi=l,n,s=l;

scanf(u%ld",&n);

while(i<=n)

s*=i++;

printf(n%ld\n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论