《C語(yǔ)言程序設(shè)計(jì)》課后習(xí)題參考答案_第1頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》課后習(xí)題參考答案_第2頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》課后習(xí)題參考答案_第3頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》課后習(xí)題參考答案_第4頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》課后習(xí)題參考答案_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

一、單項(xiàng)選擇題

1-4CCAB5~8DADC

二、填空題

L鏈接

2.#

3.main

4.//

5..h

6.窮舉法、遞歸法、回溯法(貪心法、分治法)

三、應(yīng)用題

1、

#include<stdio.h>

intmain(){

printf("\t\t\n\n");

printf("\t\t\tClanguageprogram\n\n");

prjntf(''\t't******************************'n\n")?

return0;

)

編輯C程序源代碼分編譯C程序,生成目標(biāo)程序分鏈接目標(biāo)

程序,生成可執(zhí)行文件分運(yùn)行,查看結(jié)果

l.B

2.C

3.C

4.D

5.A

1.x=l;y=l;z=l;

2.-1

3.2,2

4.12353514

5.12353514

第3章答案:

l.D

2.D

3.B

4.C

5.C

1.答案:0

2.答案:3

3.答案:YES

4.答案:YES

5.41

一、選擇題

1、A2、B3、A4、A5、A

二、填空題

1、while>do...while、for語(yǔ)句

2、循環(huán)體、循環(huán)表達(dá)式、循環(huán)變量

3、s=7

4、i=8

5、*

***

****

第5章

一、選擇題

1、B2、B3、C4、B5、D6、C7、A8、B9、A10、

A

二、填空題

1、(l)j=9;(2)i>=0;

2、(1)temp[10]={0};(2)strcpy(temp,str);

3、(1)i<3;a[i][i]

4、(l)&a[i];(2)(i%4)==0;(3)printf("\n");

二、編程題

1、

#include<stdio.h>

voidmain()

{inti,j,a[10],t;

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

scanf(zz%d//,&a[i]);

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

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

if(a[i]>a[i+l])

{t=a[i+l];a[i+l]=a[i];a[i]=t;}

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

printf(〃%5d〃,a[i]);

2、

#include<stdio.h>

#defineN6

voidmain()

{

inti,j,a[N][N]={0};

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

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

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

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

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

printf(zza%0O6ptAOPLEpIA£°\n/z);

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

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

printf(/z%d\t/z,a[i][j]);

printf(〃\n〃);

}

}

3、

#include<stdio.h>

voidmain()

floatscore[3][5],avgl=0,avg[3],sum[3]={0};

inti,j;

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

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

(

printf(“第%d門(mén)課,第%d個(gè)學(xué)生的成績(jī)是:”,i,j);

scanf(,fescore[i][j]);

)

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

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

sum[i]+=score[i][j];

avg[i]=sum[i]/5;

}

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

(

printf("第%d門(mén)課的平均成績(jī)?yōu)?.2f\n”,i,avg[i]);

avgl+=avg[i];

}

printf("各科總平均成績(jī)?yōu)榫?f\n",avgl/3);

}

第6章

一、選擇題

1、A2、C3、D4、A5、C6、A7、D8、D9、C10、B

二、填空題

1、(1)m(2)m%i==0(3)returnm

2、(1)max=x[i][j](2)max

--、

1、

#include<stdio.h>

intset(intm,intn);

intged(intm,intn);

voidmain(){

intm,n,t;

printf(“請(qǐng)輸入正整數(shù)m,n:");

scanf(u%d,%d,&m,&nv;

if(m<n)

{t=m;m=n;n=t;}

printf(%d的最小公倍數(shù)為%d\n”,m,n,set(m,n));〃主函數(shù)調(diào)用set()

函數(shù)

)

intset(intm,n)

{inty;

y=m*n/gcd(m,n);

returny;

)

intgcd(intm,n)

{intr=m%n;

while(r)

{m=n;

n=r;

r=m%n;

}

returnn;

)

2、

^include<iostream>

voidmain()

(

intprime(int);

intx;

printf("輸入?個(gè)正整數(shù)\n\n");

scanf("%d",&x);

if(prime(x)==O)printf("\n\n此數(shù)為素?cái)?shù)\n\n”);

elseprintf("\n\n此數(shù)不是素?cái)?shù)\n\n“);

}

intprime(intx)

(

inti,flag;

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

(

if(x%i==O)

(

flag=l;

break;

}

elseflag=O;

}

return(flag);

}

3、

#include<stdio.h>

floatMax=0,Min=0;

voidmain()

{

floataverage(floatarray[],intn);

floatave,score[10];

inti;

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

scanf(,&score[i]);

ave=average(score,10)

printf("max=%6?2f\nmin=%6.2f\naverage=%6.2f\n”,Max,Min,ave);

}

floataverage(floatarray[],intn)

{

inti;

floataver,sum=array[0];

Max=Min=array[0];

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

{

if(array[i]>Max)Max=array[i];

elseif(rray[i]<Min)Min=array[i];

sum=sum+array[i];

)

aver=sum/n;

return(aver);

第7章習(xí)題參考答案

一、單項(xiàng)選擇題

1-4BDDB5~8BAAB

第5題,補(bǔ)充以下定義:

inta[]={l,2,3,4,5,6};

int*p=a;

第7題,(*A)++;更正為(*a)++;

#include<stdio.h>

voidfun(char*a,char*b){

a=b;

(*a)++;

)

intmain(){

charcl='A,,c2='a',*pl,*p2;

pl=&cl;

p2=&c2;

fun(pl,p2);

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

return0;

}

第8題代碼

#include<stdio.h>

int*f(int*x,int*y){

if(*x<*y)

returnx;

else

returny;

)

intmain(){

inta=7,b=8,*p,*q,r;

P=&a;

q=&b;

r=*f(p,q);

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

return0;

)

二、填空題

(1)84(2)35(3)0(4)7(5)0

(6)int*(7)-1(8)*sn

三、編程題

1.用指針?lè)椒ㄍ瓿桑孩磐ㄟ^(guò)鍵盤(pán)輸入10個(gè)整數(shù),按照由小到大的順序輸出;⑵通過(guò)鍵盤(pán)輸入3個(gè)字符

串,判斷其長(zhǎng)度,按照從大到小的順序輸出。

(1)

#include<stdio.h>/*用指針實(shí)現(xiàn):由鍵盤(pán)輸入10個(gè)整數(shù),將他們按由小到大的順序排列*/

intmain()/*主函數(shù)*/

(

inti,m,a[10],*p=a,k,j,t;/*定義變量*/

printf("輸入10個(gè)數(shù):");

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

scanf("%d",p+i);/*輸入數(shù)字,直到結(jié)束*/

for(i=0;i<9;i++)/*對(duì)輸入的十個(gè)數(shù)進(jìn)行排序*/

(

k=i;

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

if(*(P+k)<*(P+j))

k=j;

{t=*(p+k);*(p+k)=*(p+i);*(p+i)=t;}

)

for(i=0;i<=9;i++)/*排序后輸出結(jié)果*/

printf("%d",*(p+i));

return0;

}/*TheEnd*/

(2)

include<stdio.h>

include<string.h>

#defineN3

intmain()〃指針實(shí)現(xiàn):通過(guò)鍵盤(pán)輸入3個(gè)字符串,判斷其長(zhǎng)度,按照從大到小的順序輸出

(

charstr[N][128],*s[N];

char*p=NULL;

inti,k,j;

printf("請(qǐng)輸入3字符串:\n");

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

(

scanf("%s",&str[i]);

s[i]=str[i];

)

for(i=0;i<N-l;i++)

{

k=i;

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

if(strcmp(s[k],s[j])<0)k=j;

if(k!=i)

(

P=s[i];s[i]=s[k];s[k]=p;

)

)

printf("排序后:\n");

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

printf("%s\n",s[i]);

2.編寫(xiě)一個(gè)函數(shù):要求使用指針將數(shù)組中n個(gè)數(shù)按逆序存放。

voidinv(int*x,intn)

{int*p,m,t,*i,*j;

m=(n-l)/2;

i=x;j=x+n-1;p=x+m;

for(;i<=p;i++,j-)

{t=*i;*i=*j;*j=t;}

return;

voidmain()

{inti,arr[10],*p=arr;

printf("輸入原數(shù)組元素:\n");

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

scanf(n%dn,p);

printf(n\nH);

p=arr;

inv(p,10);

printf("逆序存放后的數(shù)組:\n");

for(p=arr;p<arr+10;p++)

printf(n%dn,*p);

printf(H\nH);

3.用指針?lè)ㄝ斎胼敵龆S數(shù)組各元素。

#include<stdio.h>

voidmain()

(

inta[3][4],*ptr;

intij;

ptr=a[0];

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

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

scanf("%d",ptr++);/*指針的表示方法*/

ptr=a[0];

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

(

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

printf("%4d",*ptr++);

printf("");

)

}

第8章

一、選擇題

1、D2、D3、D4、A5、D6、C7、D

二、填空題

1、(1)structstrut[20];

2、(1)x.x(2)x.y(3)x.z.y(4)x.z.z

三、編程題

1、

#include<stdio.h>

structstudent

(

intnum;

charname[20];

charsex;

intage;

floatscore;

);

structstudentstu[4]={{11301,“ZhangPing",'F',19,496.5},{11302,”Wang

Li",'F',20,483},{11303,“LiuHong",'M',19,503},{11304,"Song

Rui"W,19,471.5}};

voidmain()

{

inti;

floata=0,s=0;

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

(

a=a+stu[i].age;

s=s+stu[i].score;

)

printf("Theaverageageis%6.2f\n”,a/4);

printf("Theaveragescoreis%6.2f\n”,s/4);

2、#include<stdio.h>

#defineN20

structstudent

charname[10];

intmaths,Chinese,english,sum;

);

voidmain()

(

stuctstudentstu[N+l];〃stu[0]存儲(chǔ)全班平均成績(jī),stu[i]存儲(chǔ)第i個(gè)學(xué)生的成績(jī)

inti,m_ave=0,c_ave=0,e_ave=0;

printf(“請(qǐng)輸入各學(xué)生的姓名、數(shù)學(xué)、語(yǔ)文和英語(yǔ)成績(jī)\n");

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

{

printf("第%d個(gè)學(xué)生:”,i);

Scanf(,stu[i].name);

Scanf("%d%d%d”,&stu[i].math,&stu[i].Chinese,&stu[i].english);

Stu[i].sum=stu[i].math+stu[i].chinese+stu[i].english;

m_ave+=stu[i].maths;

c_ave+=stu[i].Chinese;

e_ave+=stu[i].englisth;

)

stu[0].maths=m_ave/N;

stu[0].chinese=c_ave/N;

stu[0].englisth=e_ave/N;

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

printf("%s\t%d\t%d\t%d\t%d\n”,stu[i].name,stu[i].maths,stu[i].Chinese,stu[i.e

nglisth,stu[i].sum]);

printf("平均:\t%d\t%d\t%d\n?,,stu[0].maths,stu[0].Chinese,stu[0].englisth);

)

3、

^include<iostream>

structdate

(

intyear;

intmonth;

intday;

}date;

voidmain()

(

staticintday_table[]={31,28,31,30,31,30,31,31,30,31,30,31};

inti,day_sum;

printf("輸入年,月,日\(chéng)n\n");

scanf("%d%d%d",&date.year,&date.month,&date.day);

day_sum=0;

for(i=0;i<date.month-l;i++)

day_sum+=day_table[i];

day_sum+=date.day;

if((date.year%4==0)&&(date.year%100!=0)||(date.year%400==0)&&(date.month>2

))

day_sum+=l;

printf("\n\n該日在本年中是第%d天\n\n",day_sum);

第9章習(xí)題參考答案

一、單項(xiàng)選擇題

1~4ABBD5~8CCDB

二、填空題

1、一組相關(guān)信息的集合數(shù)據(jù)文件,程序文件

2、二進(jìn)制文件,文本文件

3、FILE*文件指針名

4、是否到達(dá)文件的結(jié)束EOF1

5、在于控制文件的位置標(biāo)記

三、編程題

1、

#include<stdio.h>

#include<malloc.h>

voidwrite()

{

char*s[2];

inta;

FILE*fp;

s[0]=/,Turboc〃,s[l]=〃BA

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論