《C語言學(xué)習(xí)與應(yīng)用》課后習(xí)題及答案08_第1頁
《C語言學(xué)習(xí)與應(yīng)用》課后習(xí)題及答案08_第2頁
《C語言學(xué)習(xí)與應(yīng)用》課后習(xí)題及答案08_第3頁
《C語言學(xué)習(xí)與應(yīng)用》課后習(xí)題及答案08_第4頁
《C語言學(xué)習(xí)與應(yīng)用》課后習(xí)題及答案08_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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

問題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();

)

問題8-2:將N行N列的方陣左下三角元素置0,請將代碼補(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();

)

問題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ù)組元素和對應(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計算各科成績的平均分

#incIude"stdio.h"

#incIude"stdIib.h"

#defineM100

#defineN3

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

錄個數(shù)

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

inti=0,n;

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

開d:\fiIe1.txt

(

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

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

)

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

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表示讀入的記錄個數(shù)

)

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

寫入文件的函數(shù)

(

FILE*fp;

inti;

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

d盤f1.txt文件

(

printf("文件寫入錯誤!\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);〃計算a數(shù)組n行元素的平均值,放在b數(shù)

組中

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

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

getchar();

}

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

#incIude"stdio.h"

#incIude"stdIib.h"

#defineM100

#defineN3

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

錄個數(shù)

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

inti=0,n;

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

開d:\fiIe1.txt

(

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

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

)

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

(

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表示讀入的記錄個數(shù)

}

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

入文件的函數(shù)

(

FILE*fp;

inti;

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

d盤f1.txt文件

(

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

評論

0/150

提交評論