C语言程序设计学习指导第二版 答案_c语言程序设计2答案

2020-02-27 其他范文 下载本文

C语言程序设计学习指导第二版 答案由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言程序设计2答案”。

第一章

一、1.C 2.B 3.C 4.C 5.D 6.A 7.B 8.C 9.A 10.D 11.B 12.C 13.A 14.D 15.B 16.B

第二章

一、1.D 2.A 3.C 4.D 5.A 6.B 7.A 8.B 9.A 10.D 11.B 12.C 13.C 14.D 15.C 16.B 17.D 18.A 19.C 20.B 21.B 22.D 23.A 24.B 25.B 26.B 27.B

第三章

一、1.D 2.C 3.A 4.C 5.A 6.C 7.C 8.D 9.A 10.D 11.A13.C 14.C 15.A 16.B 17.A 18.A 19.C 20.A 21.B 22.D 23.B 24.B 25.D 26.D 27.C 28.C

第四章

一、1.B 2.C 3.D 4.D 5.D 6.C 7.B 8.D 9.C 10.D 11.B 12.A 13.C 14.C 15.B 16.AB 17.D

二、1.double fun(int m){ double y=0;y=sin(m)*10;return(y);} 2.float fun(float h){return(long)(h * 100 + 0.5)/ 100.0;}

3.double fun(double m){ float n;n=(5.0/9.0)*(m-32);return n;}

4.char fun(char c){c=c+32;return c;}

(14 6f)12.B 第五章

一、1.D 2.C 3.C 4.C 5.A 6.A 7.C 8.A 9.B 10.B 11.A 12.B 13.C 14.C 15.D 16.A 17.D 18.A 19.A 20.A 21.B 22.D 23.C 24.B 25.D

二、1.int fun(int n){ int bw,sw,gw;bw=n/100;sw=(n-bw*100)/10;gw=n%10;if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw)return 1;else return 0;} 2.float fun(float x){float y;if(x=0 && x10)z=exp(x);else if(x>-3)z=log(x+3);else z=sin(x)/(cos(x)+4);return(z);} 4.int fun(int x){ int k;k=x*x;if((k%10==x)||(k%100==x))return 1;else return 0;}

第六章

一、1.C 2.C 3.D 4.B 5.C 6.A 7.A 8.A 9.D 10.A 11.D 12.C 13.C 14.C 15.C 16.A 17.A 18.B 19.A 20.D 21.B 22.C 23.C 24.D 25.B 26.B 27.C 28.A

二、1.位置 1:r!=0 【或】 0!=r 【或】 r 位置 2:r=m%n 【或】 r=m-m/n*n 位置 3:n 位置 4:gcd,lcm 【或】 n,lcm 2.位置 1:k=0 位置 2:n%10 【或】 n-n/10*10 【或】 n-10*(n/10)位置 3:while(n>0)【或】 while(0=i 【或】 300>i 位置 3:i%7==0||i%17==0 【或】!(i%7)||!(i%17)【或】!(i%17)||!(i%7)【或】!(i%7&&i%17)【或】 i%17==0||i%7==0 位置 4:n%5==0 【或】!(n%5)【或】 n/5*5==n 5.位置 1:s=0 位置 2:i+=2 【或】 i=i+2 【或】 i=2+i 【或】 i++,i++ 位置 3:j=j 【或】 jj 【或】 jj 位置 4:f=f*j 【或】 f=j*f

三、1.位置 1:#include “math.h” 【或】 #include 位置 2:float s=0,t=1,p=1;【或】 float s=0,p=1,t=1;【或】 float p=1,s=0,t=1;【或】 float p=1,t=1,s=0;【或】 float t=1,p=1,s=0;【或】 float t=1,s=0,p=1;位置 3:while(fabs(t)>1e-4)【或】 while(0.00010.0001)位置 4:printf(“pi=%fn”,s*4);【或】 printf(“pi=%fn”,4*s);2.位置 1:printf(“%8.0f”,f1);【或】 printf(“%f”,f1);【或】 printf(“%8f”,f1);位置 2:for(i=1;ii;i++)【或】 for(i=2;i=i;i++)【或】 for(i=1;i=i;i++)位置 3:f1=f2;位置 4:f2=f3;3.位置 1:long k=1;位置 2: scanf(“%ld”,&n);位置 3: n/=10;【或】 n=n/10;4.位置 1:scanf(“%d”,&n);位置 2:for(i=1;i=i;i++)【或】 for(i=1;ii;i++)位置 3:s+=1.0/t;【或】 s=s+1.0/(float)t;【或】 s=1.0/(float)t+s;【或】 s=s+1.0/t;【或】 s=1.0/t+s;【或】 s+=1.0/(float)t;【或】 s+=1.0/(double)t;【或】 s=s+1.0/(double)t;【或】 s=1.0/(double)t+s;5.位置 1:sum=1.0;【或】 sum=1;位置 2:s2=1.0;【或】 s2=1;位置 3:for(k=4;k=k;k++)【或】 for(k=4;kk;k++)【或】 for(k=4;1+n>k;k++)6.位置 1:t=1;【或】 t=1.0;位置 2:t=t*j;【或】 t=j*t;【或】 t*=j;位置 3:s=s+t;【或】 s=t+s;【或】 s+=t;位置 4:printf(“jiecheng=%fn”,s);

四、1.int fun(int n){ int d,s=0;while(n>0){d=n%10;s+=d*d*d;n/=10;} return s;} 2.int fun(int n){ int i,s=0;for(i=2;i 0){ s = s/100;t = s%10*sl + t;sl = sl * 10;} } 8.double fun(int n){ double m=1.0;int i;double p=1.0;for(i=1;im){ m=x1+x2;x1=x2;x2=m;} return m;}

第七章

一、1.A 2.D 3.C 4.B 5.B 6.D 7.B 8.C 9.B 10.B 11.D 12.B 13.B 14.A 15.C 16.A 17.C 18.A 19.B 20.C 21.D 22.A 23.A 24.D 25.A 26.D 27.A 28.D 29.B 30.C 31.A 32.D 33.D 34.C 35.A 36.B 37.C 38.A 39.A 40.B 41.D 42.B 43.A 44.C 45.A

二、1.位置 1: break;位置2:i-1;位置3:c;2.位置1:sqrt(n)【或】n/2【或】n-1 位置2:n%i==0 位置3:k/10 位置4:prime_pal(j)3.位置1:nn 位置2:sqrt(high)【或】high/2 位置3:high%j == 0【或】!(high%j)位置4:return sum【或】return(sum)4.位置 1:k=0 位置 2:j=m%10 【或】 j=m-m/10*10 【或】 j=m-10*(m/10)位置 3:return(1)位置 4:fun(i)

三、1.位置1:scanf(“%d”,&n);位置2:double fun(int n)位置3:for(i=1;i=i;i++)【或】for(i=1;ii;i++)位置4:s+=1.0/t;【或】s= s + 1.0 /(float)t;【或】s= s + 1.0 /t;【或】s+=1.0/(float)t【或】s+=1.0/(double)t;【或】s= s + 1.0 /(double)t;2.位置1:for(k=2;kk;k++)【或】for(k=2;kk;k++)【或】for(k=2;k=k;k++)位置2:if(i%k == 0)break;【或】if(!(i%k))break;位置3:if(i=i)【或】if(k == i)【或】if(k>=i/2)【或】if(k=i/2)【或】if(k>sqrt(i))位置4:return i;【或】return(i);3.位置1:printf(“%8.0f”,f1);【或】printf(“%f”,f1);【或】printf(“%8f”,f1);位置2:for(i=1;ii;i++)【或】for(i=2;i=i;i++)【或】for(i=1;i=i;i++)位置3:f1=f2;位置4:f2=f3;4.位置 1:void fun(int *a,int *b)【或】 fun(int *a,int *b)位置 2:t=*a;位置 3:*a=*b;位置 4:*b=t;5.位置 1:for(i=1;i=i;i++)【或】 for(i=1;ii;i++)位置 2:s=s+fac(i);【或】 s=fac(i)+s;【或】 s+=fac(i);位置 3:float y=1.0;【或】 float y=1;位置 4:return y;【或】 return(y);6.位置 1:int fun(int m)【或】 fun(int m)位置 2:for(i=2;ii;i++)【或】 for(i=2;i=i;i++)位置 3:if(m%i==0)k=0;【或】 if(0==m%i)k=0;位置 4:return k;7.位置 1:for(i=2;i=i;i++)【或】 for(i=2;ii;i++)【或】 for(i=2;1+m>i;i++)位置 2:y-=1.0/(i*i);【或】 y=y-1.0/(i*i);【或】 y-=1.0/(float)(i*i);【或】 y=y-1.0/(float)(i*i);【或】 y=y-1.0/i/i;【或】 y=y-1.0/(float)i/(float)i;【或】 y=y-1/(double)(i*i);【或】 y-=1/(double)(i*i);位置 3:return y;【或】 return(y);8.位置 1:while((2=2)&&(mcmc))【或】 while((k>=2)&&(10>mc))【或】 while((mc=2))【或】 while((10>mc)&&(2mc)&&(k>=2))位置 2:if(!(k%17!=0||k%13!=0))【或】 if(!(k%13!=0||k%17!=0))【或】 if(k%13==0||k%17==0)【或】 if(k%17==0||k%13==0)位置 3:k--;【或】 k=k-1;【或】 k-=1;位置 4:return m;【或】 return(m);

四、1.int fun(int n){ int i,k;for(i=n+1;;i++){ for(k=2;k0.000001){x0=x1;x1=cos(x0);} return((float)x0);}

第八章

一、1.B 2.D 3.D 4.A 5.B 6.A 7.C 8.B 9.D 10.A 11.A 12.C 13.AB 14.D 15.A 16.B 17.D 18.B 19.D 20.A 21.D 22.B 23.B 24.D 25.D 26.C 27.D 28.D

二、1.位置1:t=a[5];【或】t=a[5] 位置2:a[i]=a[i-1];【或】a[i]=a[i-1] 2.位置1:i+1【或】1+i 位置2:a[j]a[j]【或】a[min_loc]>=a[j] 位置3:i!=min_loc【或】min_loc!=i 3.位置1:max=a[0] 位置2:max=a[j] 4.位置1:&a[i]【或】a+i 位置2:a[i]==x【或】x==a[i] 位置3:!=【或】a[j+1]【或】a[j+1]x[0] 7.位置1:high=mid-1: 位置2:low=mid+1: 位置3:a,m 8.位置 1:a[i][i]=1 位置 2:i 位置 3:a[i-1][j]+a[i-1][j-1] 【或】 a[i-1][j-1]+a[i-1][j] 位置 4:j=j 【或】 jj 【或】 j-1j-1 9.位置 1:i==j||i+j==6 【或】 j==i||i+j==6 【或】 i==j||j+i==6 【或】 j==i||j+i==6 【或】 i==j||6==i+j 【或】 j==i||6==i+j 【或】 i==j||6==j+i 【或】 j==i||6==j+i 位置 2:a[i][j]=2 位置 3:i6 【或】 j>i&&i+j>6 【或】 i6 【或】 j>i&&j+i>6 【或】 ii&&6i&&6

三、1.位置1:#include 位置2:printf(“%3d”,*(num+i));位置3:while(low=0;i--)【或】for(i=N-2;0x[j+1])位置3:sort(a,n);位置4:for(i=0;i

四、1.void fun(int n,int a[]){ int i=3;while(n!=0){ a[i--]=n%10;n=n/10;} } 2.int fun(int a[M][M]){ int s=0;int i,j;for(i=0;iamax)amax=a[i];return amax;} 9.void fun(int array[3][3]){ int i,j;int b[3][3];for(i=0;i

for(i=0;i

a[i][j]*=n;} 11.void fun(int arr[],int n){int i,t;for(i=0;i

w[j-1]=w[j];} w[n-1]=ch;}} 15.double fun(int w[][N]){ int i,j,count=0;double average,sum=0.0;for(i=0;i

第九章

一、1.B 2.A 3.C 4.D 5.A 6.B 7.B 8.D 9.D 10.C 11.A 12.C 13.C 14.D 15.A 16.B 17.C 18.D 19.B 20.A 21.C 22.D 23.D 24.D 25.D(题目修改为能进行交换)26.A 27.A 28.B 29.B 30.B 31.B 32.B 33.C 34.A 35.C 36.B 37.A

二、1.位置 1:fun(char *p)【或】 fun(char p[])【或】 void fun(char p[])【或】 void fun(char *p)位置 2:while(*p!='')【或】 while(*p)位置 3:k=1;位置 4:p++;【或】 p=1+p;【或】 ++p;【或】 p=p+1;【或】 p+=1;2.位置 1:int fun(int *a,int *b,int n)位置 2:*b=c-a;位置 3:scanf(“%d”,&a[i]);【或】 scanf(“%d”, a + i);位置 4:max=fun(a,&p,N);3.位置 1:scanf(“%d”,p★++);【或】 scanf(“%d”,arr[i]);【或】 scanf(“%d”,p+i);【或】 scanf(“%d”,arr+i);位置 2:if(*p>*max)【或】 if(*maxi;i++)【或】 for(p=arr;p=i;i++)【或】 for(p=arr;p=p;)

三、1.int fun(int *s, int t, int *k){ int max_integer=0;int i=0;max_integer = s[0];for(i=0;i

if(max_integer

max_integer=s[i];

*k=i;

}

} return *k;} 2.float fun(float *a,int n){ int i;float average;double sum=0;for(i=0;ipp[k]){x=pp[i];pp[i]=pp[j];pp[j]=x;} } 4.void fun(char(*s)[N], char *b)

{ int x,y;for(x=0;x

b[x*M+y]=*(s[y]+x);}

第十章

一、1.B 2.B 3.C 4.C 5.A 6.B 7.C 8.D 9.B 10.C 11.C 12.A 13.C 14.C 15.D 16.B 17.D 18.C 19.B 20.B 21.B 22.B 23.C 24.C 25.D 26.B 27.C 28.C 29.D 30.D 31.A 32.D 33.D 34.A 35.C 36.C 37.C

二、1.位置1:!(*p==''&& *q=='')【或】*p!=''|| *q!=''【或】!(*p==0&& *q==0)【或】*p!=0|| *q!=0【或】*p|| *q【或】!(*p&& *q')位置2:*p*p【或】*q>=*p 位置3:k++【或】++k【或】k=k+1 2.位置 1:p1=str1+m 【或】 p1=m+str1 位置 2:*p2++=*p1++ 【或】 *(p2++)=*(p1++)【或】 *p2=*p1,p2++,p1++ 【或】*p2=*p1++,p2++ 【或】 *p2++=*p1,p1++ 位置 3:*p2='' 【或】 *p2=0 【或】 *p2=NULL 位置 4:strcopy(str1,str2,m)3.位置 1:j=strlen(s1)【或】 for(j=0;s1[j]!='10';j++);【或】 for(j=0;s1[j];j++);位置 2:s2[i]!= 【或】 *(s2+i)!= 【或】 *(i+s2)!= 位置 3:'' 【或】 NULL 【或】 0 位置 4:JOIN(str1,str2)4.位置 1:str1 位置 2:ii【或】 i=i 位置 3:str2[i]=str1[i]【或】*(str2+i)=*(str1+i)【或】*(str2+i)=str1[i]【或】str2[i]=*(str1+i)位置 4:str2[n]=''【或】str2[i]=''【或】str2[n]=0【或】str2[i]=0【或】 *(str2+n)='' 【或】*(str2+i)=''【或】*(str+n)=0【或】*(str2+i)=0 5.位置 1:str 位置 2:str[i]!=''【或】str[i]!=NULL【或】str[i]!=0【或】str[i] 位置 3:str[k]=str[i]【或】 *(str+k)=*(str+i)【或】str[k]=*(str+i)【或】*(str+k)=str[i] 位置 4:str[k]=''【或】*(str+k)=''【或】 str[k]=NULL 【或】 str[k]=0 【或】 *(str+k)=0 【或】 *(str+k)=NULL

三、1.位置1:void fun(char s[],char t[])【或】void fun(char *s,char *t)位置2:d = strlen(s);位置3:for(i = 0;ii;i++)【或】for(i = 0;i=i;i++)位置4:t[ 2 * d ] = '';【或】t[ i + d ] = '';【或】t[ i + d ] =NULL;【或】t[ 2 * d ] = NULL;【或】t[ 2 * d ] = 0;【或】t[ i + d ] = 0;2.位置1:#include “stdio.h” 位置2:char s[6]={''};【或】char s[6]=“”;【或】char s[6]={0};位置3:s[i]=n%10+48;【或】s[i]=n%10+'0';位置4:changdg(n);3.位置 1:char fun(char *c)位置 2:return *c;【或】 return(*c);【或】 return(*c);位置 3:char s[81],*p=s;位置 4:putchar(*p);【或】 printf(“%c”,*p);

四、1.int i;for(i=0;str[i]!='';i++)if(str[i]>='a' && str[i]='A'&&c[i]='a'&&c[i]='0'&&c[i]

num=num+1;else if(c[i]==' ')

b=b+1;

else

other=other+1;} 8.int fun(char *str,char *substr){int i,n=0;for(i=0;i0;i--){ s[2*i]=s[i];s[2*i-1]=' ';} len=strlen(s);s[len]='';} 10.long fun(char *p){long n=0;int flag=0;while(*p!=''){ if(*p=='-')flag=1;else if(*p=='+')flag=0;else n=n*10+(*p-'0');p++;} if(flag==1)n=-n;return n;} 11.void fun(char *s,char t[]){ int i,slenth,n=0;slenth=strlen(s);for(i=1;i

for(j=0;*(a[i]+j);j++)

{

*(b+d)=*(a[i]+j);

d++;

} } 14.int fun(char *s){int i=1,j=0;while(*s){ if((i==1)&&(*s!=32)){j++;i=0;} if(*s==32)i=1;s++;} return j;} 15.int fun(char *ptr){int i,j;for(i=0,j=0;*(ptr+i)!='';i++)if(*(ptr+i)='a'||*(ptr+i)='A'){*(ptr+j)=*(ptr+i);j++;} *(ptr+j)='';return(j);} 16.void fun(char(*a)[81],int num,char **max){int i;*max=a[0];for(i=1;istrlen(*max))*max=a[i];}

第十一章

一、1.C 2.D 3.C 4.B 5.B 6.A 7.C 8.B 9.C 10.B 11.A 12.C 13.A 14.C 15.A 16.B 17.A 18.C 19.A 20.D 21.C 22.C 23.C 24.D 25.D 26.B 27.C 28.B 29.D 30.C 31.A 32.D 33.C 34.A(基于sizeof(int)=2)35.C 36.A

二、1.位置1:ipu[k].grade 3.位置1:NULL 位置2:i++ 位置3:p2->next 位置4:p1 4.位置1:q->next 位置2:head->next 5.位置1: m->data!=x 位置2:m==NULL 位置3:free(m)6.位置1:q->next 位置2:new

三、1.int fun(STREC *a,STREC *b){ int i,j=0,max,k,f=0;max=(*a).s;for(i=1;imax)max=a[i].s;/*从所有的学生数据中找出最高的分值*/ for(i=0;inext;max=c->s;while(c->next!=0){c=c->next;if(maxs)max=c->s;} return max;} 6.double fun(STREC *h){ STREC *p;double aver=0;p=h->next;while(p!=0){aver=aver+p->s;p=p->next;} aver=aver/N;return aver;} 第十二章

一、1.D 2.A 3.D 4.B 5.A 6.B 7.D 8.C 9.A 10.D 11.C 12.D 13.D 14.A 15.D 16.B 17.B 18.C 19.D 20.C 21.D 22.C 23.D 24.C 25.B 26.A 27.D 28.D 29.C

二、1.位置 1:n=strlen(str)【或】 for(n=0;str[n]!='';n++)【或】 for(n=0;str[n];n++)【或】 for(n=0;str[n]!=0;n++)位置 2:ii 【或】 ii 【或】-1+n>i 【或】 i=i 【或】-1+n>=i 位置 3:str[j]>str[j+1]【或】str[j]>str[1+j]【或】 str[j+1]

《C语言程序设计学习指导第二版 答案.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
C语言程序设计学习指导第二版 答案
点击下载文档
相关专题 c语言程序设计2答案 学习指导 答案 语言程序设计 c语言程序设计2答案 学习指导 答案 语言程序设计
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文