智慧树c语言程序设计章节答案(智慧树c语言程序设计章节答案山东联盟)

程序设计 937
今天给各位分享智慧树c语言程序设计章节答案的知识,其中也会对智慧树c语言程序设计章节答案山东联盟进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、c语言程序设计第四版答案 第八章指针 课后3 。14 。15答案

今天给各位分享智慧树c语言程序设计章节答案的知识,其中也会对智慧树c语言程序设计章节答案山东联盟进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

c语言程序设计第四版答案 第八章指针 课后3 。14 。15答案

//课后3

#include stdio.h

int main()

{ void input(int *);

void max_min_value(int *);

void output(int *);

int number[10];

input(number);

max_min_value(number);

output(number);

return 0;

}

void input(int *number)

{int i;

printf("input 10 numbers:");

for (i=0;i10;i++)

scanf("%d",number[i]);

}

void max_min_value(int *number)

{ int *max,*min,*p,temp;

max=min=number;

for (p=number+1;pnumber+10;p++)

if (*p*max) max=p;

else if (*p*min) min=p;

temp=number[0];number[0]=*min;*min=temp;

if(max==number) max=min;

temp=number[9];number[9]=*max;*max=temp;

}

void output(int *number)

{int *p;

printf("Now,they are: ");

for (p=number;pnumber+10;p++)

printf("%d ",*p);

printf("\n");

}

//课后14

#include stdio.h

int main()

{void sort (char *p,int m);

int i,n;

char *p,num[20];

printf("input n:");

scanf("%d",n);

printf("please input these numbers:\n");

for (i=0;in;i++)

scanf("%d",num[i]);

p=num[0];

sort(p,n);

printf("Now,the sequence is:\n");

for (i=0;in;i++)

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

printf("\n");

return 0;

}

void sort (char *p,int m) // 将n个数逆序排列函数

{int i;

char temp, *p1,*p2;

for (i=0;im/2;i++)

{p1=p+i;

p2=p+(m-1-i);

temp=*p1;

*p1=*p2;

*p2=temp;

}

}

//课后15

#include stdio.h

int main()

{void avsco(float *,float *);

void avcour1(char (*)[10],float *);

void fali2(char course[5][10],int num[],float *pscore,float aver[4]);

void good(char course[5][10],int num[4],float *pscore,float aver[4]);

int i,j,*pnum,num[4];

float score[4][5],aver[4],*pscore,*paver;

char course[5][10],(*pcourse)[10];

printf("input course:\n");

pcourse=course;

for (i=0;i5;i++)

scanf("%s",course[i]);

printf("input NO. and scores:\n");

printf("NO.");

for (i=0;i5;i++)

printf(",%s",course[i]);

printf("\n");

pscore=score[0][0];

pnum=num[0];

for (i=0;i4;i++)

{scanf("%d",pnum+i);

for (j=0;j5;j++)

scanf("%f",pscore+5*i+j);

}

paver=aver[0];

printf("\n\n");

avsco(pscore,paver); // 求出每个学生的平均成绩

avcour1(pcourse,pscore); // 求出第一门课的平均成绩

printf("\n\n");

fali2(pcourse,pnum,pscore,paver); // 找出2门课不及格的学生

printf("\n\n");

good(pcourse,pnum,pscore,paver); // 找出成绩好的学生

return 0;

}

void avsco(float *pscore,float *paver) // 求每个学生的平均成绩的函数

{int i,j;

float sum,average;

for (i=0;i4;i++)

{sum=0.0;

for (j=0;j5;j++)

sum=sum+(*(pscore+5*i+j)); //累计每个学生的各科成绩

average=sum/5; //计算平均成绩

*(paver+i)=average;

}

}

void avcour1(char (*pcourse)[10],float *pscore) // 求第一课程的平均成绩的函数

{int i;

float sum,average1;

sum=0.0;

for (i=0;i4;i++)

sum=sum+(*(pscore+5*i)); //累计每个学生的得分

average1=sum/4; //计算平均成绩

printf("course 1:%s average score:%7.2f\n",*pcourse,average1);

}

void fali2(char course[5][10],int num[],float *pscore,float aver[4])

// 找两门以上课程不及格的学生的函数

{int i,j,k,labe1;

printf(" ==========Student who is fail in two courses======= \n");

printf("NO. ");

for (i=0;i5;i++)

printf("%11s",course[i]);

printf(" average\n");

for (i=0;i4;i++)

{labe1=0;

for (j=0;j5;j++)

if (*(pscore+5*i+j)60.0) labe1++;

if (labe1=2)

{printf("%d",num[i]);

for (k=0;k5;k++)

printf("%11.2f",*(pscore+5*i+k));

printf("%11.2f\n",aver[i]);

}

}

}

void good(char course[5][10],int num[4],float *pscore,float aver[4])

// 找成绩优秀学生(各门85以上或平均90分以上)的函数

{int i,j,k,n;

printf(" ======Students whose score is good======\n");

printf("NO. ");

for (i=0;i5;i++)

printf("%11s",course[i]);

printf(" average\n");

for (i=0;i4;i++)

{n=0;

for (j=0;j5;j++)

if (*(pscore+5*i+j)85.0) n++;

if ((n==5)||(aver[i]=90))

{printf("%d",num[i]);

for (k=0;k5;k++)

printf("%11.2f",*(pscore+5*i+k));

printf("%11.2f\n",aver[i]);

}

}

}

求29.30.31答案和解释 c语言程序设计

29、数组的下标值必须是整数,且不能越界,数组a的下标值范围是0--9

A

*(a+i)

等价于

a[i]

B

a[p-a+i]

等价于

a[i]

因为

p=a

所以

p-a+i=i

C

p+i

是数组中下标值为i的元素的地址

D

*(a[i])

等价于

a[i]

所以

本题答案是

C

30、strcpy(s1,s2)字符串赋值函数,把串s2放在s1的位置上,所以s1必须有足够的存储空间来存放串s2

A

st1

是一维数组可以存放字符串teacher1

B

st4

是一个指针变量,但是该指针指向一个连续的存储空间

teacher1

C

st3是指针变量,但是该指针没有指向任何存储空间,所以不能把串teacher1放在st3

D

st1

是一维数组可以存放字符串teacher1

所以

本题答案

C

31、p

q

是指针变量,存放的是n的地址

A

p=q

p

q

指针类型相同

可以直接赋值

B

*p=*q

也可以

//

p=q=n

*p=*q=n

C

n=*p

原理同

B项

D

p是指针,应该存放n的地址,即p=n

所以本题答案是:

D

c语言第四章的答案

//如果是老谭的,你看看下面是否是你要的。

第三章 3.4

main()

{int a,b,c;

long int u,n;

float x,y,z;

char c1,c2;

a=3;b=4;c=5;

x=1.2;y=2.4;z=-3.6;

u=51274;n=128765;

c1='a';c2='b';

printf("\n");

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

printf("x=%8.6f,y=%8.6f,z=%9.6f\n",x,y,z);

printf("x+y=%5.2f y+z=%5.2f z+x=%5.2f\n",x+y,y+z,z+x);

printf("u=%6ld n=%9ld\n",u,n);

printf("c1='%c'or %d(ASCII)\n",c1,c1);

printf("c2='%c'or %d(ASCII)\n",c2,c2);

}

3.5

57

5 7

67.856400,-789.123962

67.856400,-789.123962

67.86 -789.12,67.856400,-789.123962,67.856400,-789.123962

6.785640e+001,-7.89e+002

A,65,101,41

1234567,4553207,d687

65535,177777,ffff,-1

COMPUTER, COM

3.6

a=3 b=7/

x=8.5 y=71.82/

c1=A c2=a/

3.7

10 20Aa1.5 -3.75 +1.4,67.8/

(空 3)10(空3)20Aa1.5(空1)-3.75(空1)(随意输入一个数),67.8 回车

3.8

main()

{float pi,h,r,l,s,sq,sv,sz;

pi=3.1415926;

printf("input r,h\n");

scanf("%f,%f",r,h);

l=2*pi*r;

s=r*r*pi; sq=4*pi*r*r;

sv=4.0/3.0*pi*r*r*r;

sz=pi*r*r*h;

printf("l=%6.2f\n",l);

printf("s=%6.2f\n",s);

printf("sq=%6.2f\n",sq);

printf("vq=%6.2f\n",sv);

printf("vz=%6.2f\n",sz);

}

3.9

main()

{float c,f;

scanf("%f",f);

c=(5.0/9.0)*(f-32);

printf("c=%5.2f\n",c);

}

3.10

#include"stdio.h"

main()

{char c1,c2;

scanf("%c,%c",c1,c2);

putchar(c1);

putchar(c2);

printf("\n");

printf("%c%c\n",c1,c2);

}

第四章

4.3

(1)0 (2)1 (3)1 (4)0 (5)1

4.4

main()

{int a,b,c;

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

if(ab)

if(bc)

printf("max=%d\n",c);

else

printf("max=%d\n",b);

else if(ac)

printf("max=%d\n",c);

else

printf("max=%d\n",a);

}

main() {int a,b,c,temp,max;

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

temp=(ab)?a:b;

max=(ctemp)?c:temp;

printf("max=%d",max);

}

4.5

main()

{int x,y;

scanf("%d",x);

if(x1)y=x;

else if(x10)y=2*x-1;

else y=3*x-11;

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

}

4.6

main()

{int score,temp,logic;

char grade;

logic=1;

while(logic)

{scanf("%d",score);

if(score=0score=100)logic=0;

}

if(score==100)

temp=9;

else

temp=(score-score%10)/10;

switch(temp)

{case 9:grade='A';break;

case 8:grade='B';break;

case 7:grade='C';break;

case 6:grade='D';break;

case 5:

case 4:

case 3:

case 2:

case 1:

case 0:grade='E';

}

printf"score=%d,grade=%c",score,grade);

}

4.7 main()

{long int num;

int indiv,ten,hundred,thousand,ten_thousand,place;

scanf("%ld",num);

if(num9999) place=5;

else if(num999) place=4;

else if(num99) place=3;

else if(num9) place=2;

else place=1;

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

ten_thousand=num/10000;

thousand=(num-ten_thousand*10000)/1000;

hundred=(num-ten_thousand*10000-thousand*1000)/100;

ten=(num-ten_thousand*10000-thousand*1000-hundred*100)/10;

indiv=num-ten_thousand*10000-thousand*1000-hundred*100-ten*10;

switch(place)

{case 5:printf("%d,%d,%d,%d,%d\n",ten_thousand,thousand,hundred,ten,indiv);

printf("%d,%d,%d,%d,%d\n",indiv,ten,hundred,thousand,ten_thousand);

break;

case 4:printf("%d,%d,%d,%d\n",thousand,hundred,ten,indiv);

printf("%d,%d,%d,%d\n",indiv,ten,hundred,thousand);

break;

case 3:printf("%d,%d,%d\n",hundred,ten,indiv);

printf("%d,%d,%d\n",indiv,ten,hundred);

break;

case 2:printf("%d,%d\n",ten,indiv);

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

break;

case 1:printf("%d\n",indiv);

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

}

}

4.8

main()

{long i;

float bonus,bon1,bon2,bon4,bon6,bon10;

bon1=100000*0.1;

bon2=bon1+100000*0.075;

bon4=bon2+200000*0.05;

bon6=bon4+200000*0.03;

bon10=bon6+400000*0.015;

scanf("%ld",i);

if(i=1e5)bonus=i*0.1;

else if(i=2e5)bonus=bon1+(i-100000)*0.075; else if(i=4e5)bonus=bon2+(i-200000)*0.05;

else if(i=6e5)bonus=bon4+(i-400000)*0.03;

else if(i=1e6)bonus=bon6+(i-600000)*0.015;

else bonus=bon10+(i-1000000)*0.01;

printf("bonus=%10.2f",bonus);

}

main()

{long i;

float bonus,bon1,bon2,bon4,bon6,bon10;

int branch;

bon1=100000*0.1;

bon2=bon1+100000*0.075;

bon4=bon2+200000*0.05;

bon6=bon4+200000*0.03;

bon10=bon6+400000*0.015;

scanf("%ld",i);

branch=i/100000;

if(branch10)branch=10;

switch(branch)

{case 0:bonus=i*0.1;break;

case 1:bonus=bon1+(i-100000)*0.075;break;

case 2:

case 3:bonus=bon2+(i-200000)*0.05;break;

case 4:

case 5:bonus=bon4+(i-400000)*0.03;break;

case 6:

case 7

case 8:

case 9:bonus=bon6+(i-600000)*0.015;break;

case 10:bonus=bon10+(i-1000000)*0.01;

}

printf("bonus=%10.2f",bonus);

}

4.9

main()

{int t,a,b,c,d;

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

if(ab){t=a;a=b;b=t;}

if(ac){t=a;a=c;c=t;}

if(ad){t=a;a=d;d=t;}

if(bc){t=b;b=c;c=t;}

if(bd){t=b;b=d;d=t;}

if(cd){t=c;c=d;d=t;} printf("%d %d %d %d\n",a,b,c,d);

}

4.10

main()

{int h=10;

float x,y,x0=2,y0=2,d1,d2,d3,d4;

scanf("%f,%f",x,y);

d1=(x-x0)*(x-x0)+(y-y0)*(y-y0);

d2=(x-x0)*(x-x0)+(y+y0)*(y+y0);

d3=(x+x0)*(x+x0)+(y-y0)*(y-y0);

d4=(x+x0)*(x+x0)+(y+y0)*(y+y0);

if(d11d21d31d41)h=0;

printf("h=%d",h);

}

智慧树c语言程序设计章节答案的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于智慧树c语言程序设计章节答案山东联盟、智慧树c语言程序设计章节答案的信息别忘了在本站进行查找喔。

扫码二维码