《C語(yǔ)言學(xué)習(xí)與應(yīng)用》課后習(xí)題及答案08_第1頁(yè)
《C語(yǔ)言學(xué)習(xí)與應(yīng)用》課后習(xí)題及答案08_第2頁(yè)
《C語(yǔ)言學(xué)習(xí)與應(yīng)用》課后習(xí)題及答案08_第3頁(yè)
《C語(yǔ)言學(xué)習(xí)與應(yīng)用》課后習(xí)題及答案08_第4頁(yè)
《C語(yǔ)言學(xué)習(xí)與應(yīng)用》課后習(xí)題及答案08_第5頁(yè)
已閱讀5頁(yè),還剩3頁(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)介

學(xué)習(xí)任務(wù)八參考答案

問(wèn)題8-1:輸出3行3列的方陣,將代碼補(bǔ)充完整。

#incIude"stdio.h"

#defineM3

voidmain()

(

inti,j,a[3][3]={4,9,2,3,5,7,8,1.6);

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

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

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

printf(H\n");

)

getchar();

)

問(wèn)題8-2:將N行N列的方陣左下三角元素置0,請(qǐng)將代碼補(bǔ)充

完整。

#incIude"stdio.h"

#incIude"stdIib.h"

#defineN5

voidfun(intw[][N])〃為數(shù)組左下三角元素置0

{inti,j;

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

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

w[i][j]=0;

}

voidout(intw[][N])〃輸出數(shù)組

{inti,j;

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

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

printf("%4d",w[i][j]);

printf(H\n");

)

}

voidmain()

(

inta[N][N],i,j;

for(i=0;i<N;i++)〃為二維數(shù)組元素賦值

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

a[i][j]=rand()%50;

out(a);〃輸出數(shù)組元素

fun(a);〃為左下三角數(shù)組元素置0

printf(“數(shù)組左下三角元素置0\nH);

out(a);〃再次輸出數(shù)組元素

getchar();

)

問(wèn)題8-3:將二維數(shù)組每列元素的平均值,放在b數(shù)組中。

#incIude"stdio.h"

#defineM3

#defineN4

voidfun(inta[][N],fIoatb[N])

{

inti,j;

doubIeave;

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

{ave=0;

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

ave=ave+a[j][i];

b[i]=ave/M;

)

voidmain()

{

inta[M][N]={1,2,3,4,5,6,7,8,9,10,11.12).i,j;

fIoatb[N];

fun(a,b);//調(diào)用函數(shù)將每行元素的平均值放在b

數(shù)組中

for(i=0;i<M;i++)//輸出數(shù)組元素和對(duì)應(yīng)的平均值

(

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

printf("%4d",a[i][j]);

printf(H\n");〃在每行數(shù)組元素后,輸出均值

1

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

printf("%.2f",b[j]);

getchar();

)

編程訓(xùn)練8-2計(jì)算各科成績(jī)的平均分

#incIude"stdio.h"

#incIude"stdIib.h"

#defineM100

#defineN3

intafin(intaFMl[ND〃將文件內(nèi)容讀入數(shù)組.函數(shù)值為記

錄個(gè)數(shù)

{FILE*fp;〃定義文件指針變量

inti=0,n;

if((fp=fopen("d:\\fiIe1.txt","r"))二二NULL)//"讀"方式打

開(kāi)d:\fiIe1.txt

(

printf("文件打開(kāi)錯(cuò)誤!\n");〃如打開(kāi)有誤,終止程序

exit(0);//強(qiáng)行終止程序

)

whiledfeof(fp))〃文件指針沒(méi)到尾

H

fscanf(fp,%d%d%d"f&a[i][0],&a[i][1],&a[i][2]);//

從文件讀數(shù)

i++;

)

fcIose(fp);//關(guān)閉文件

n=i-1;

returnn;//n表示讀入的記錄個(gè)數(shù)

)

voidafout(inta[M][N],intn,doubleb[])//將數(shù)組內(nèi)容

寫(xiě)入文件的函數(shù)

(

FILE*fp;

inti;

if((fp=fopen(nd:\\f1.txt“,"w"))==NULL)〃寫(xiě)方式打開(kāi)

d盤(pán)f1.txt文件

(

printf("文件寫(xiě)入錯(cuò)誤!\n");

exit(0);

)

fprint千(fp,”算法JAVA數(shù)據(jù)結(jié)構(gòu)平均分\n”);

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

fprintf(fp,"%4d%4d%4d%.2f\n".a[i][0],a[i][1],a[i][2],b[

il);

fclose(fp);

)

voidaout(inta[M][N],intn,doubIeb[])//在屏幕顯示數(shù)

組內(nèi)容

(

inti;

printf(“算法JAVA數(shù)據(jù)結(jié)構(gòu)平均分\n”);〃

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

printf("%4d%4d%4d%.2f\n",a[i][0],a[i][1],a[i][2],b[i]);

)

voidfun1(inta[][3],intn,doubIe*b)

(

inti,j;

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

{b[i]=0;

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

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

b⑴=b[i]/N;

)

)

voidmain()

(

inta[M][N],n;//定義數(shù)組和中間變量

doubIeb[M];//定義存放平均值的數(shù)組

n=afin(a);〃將文件內(nèi)容讀入數(shù)組

fun1(a,n,b);〃計(jì)算a數(shù)組n行元素的平均值,放在b數(shù)

組中

aout(a,n,b);〃顯示數(shù)組內(nèi)容

afout(a,n,b);//將數(shù)組內(nèi)容寫(xiě)入文件

getchar();

}

編程訓(xùn)練8-3計(jì)算各科成績(jī)的最高分。

#incIude"stdio.h"

#incIude"stdIib.h"

#defineM100

#defineN3

intafin(inta[M][N])〃將文件內(nèi)容讀入數(shù)組,函數(shù)值為記

錄個(gè)數(shù)

{FILE*fp;〃定義文件指針變量

inti=0,n;

if((fp=fopen("d:\\fiIe1.txt",,,r,,))==NULL)//"讀"方式打

開(kāi)d:\fiIe1.txt

(

printf("文件打開(kāi)錯(cuò)誤!\n");〃如打開(kāi)有誤,終止程序

exit(O);//強(qiáng)行終止程序

)

while(!feof(fp))〃文件指針沒(méi)到尾

(

fscanf(fp,"%d%d%d",&a[i][0],&a[i][1],&a[i][2]);//

從文件讀數(shù)

i++;

)

fcIose(fp);〃關(guān)閉文件

n=i-1;

returnn;〃n表示讀入的記錄個(gè)數(shù)

}

voidafout(inta[M][N],intn,int*c[])//將數(shù)組內(nèi)容寫(xiě)

入文件的函數(shù)

(

FILE*fp;

inti;

if((fp=fopen("d:\\f1.txt","w"))==NULL)〃寫(xiě)方式打開(kāi)

d盤(pán)f1.txt文件

(

printf("文件寫(xiě)入錯(cuò)誤!\n”);

exit(0);

)

fprintf(fp,”算法JAVA數(shù)據(jù)結(jié)構(gòu)\rT);

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

fprintf(fp,"%4d%4d%4d\n",a[i][0],a[i][1],a[i][2]);

fprintf(fp,“最高分:\n");

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

fprintf(fp,"%4d",c[i]);

fclose(fp);

)

voidaout(inta[M][N],intn,int*c)//在屏幕顯示數(shù)組內(nèi)

(

inti;

printf("算法JAVA數(shù)據(jù)結(jié)構(gòu)\n”);〃

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

printf(n%4d%4d%4d

\rT,a[i][0],a[i][1].a⑴⑵);

printf("最高分:\n");

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

printf("%4d",c[i]);

}

voidfun2(inta[][N],intn,int*c)

(

inti,j;

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

{c[j]=a[0][j];

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

if(c[j]<a[i][j])

)

}

voidmain()

(

inta[M][N],n;//定義數(shù)組和中間變量

intc[N];〃定義存放最高分的數(shù)組

n=afin(a);

溫馨提示

  • 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)論