c语言第八讲课程后题答案Word文档下载推荐.docx
- 文档编号:15387302
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:20
- 大小:54.95KB
c语言第八讲课程后题答案Word文档下载推荐.docx
《c语言第八讲课程后题答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c语言第八讲课程后题答案Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
intj;
for(j=0;
j<
4;
j++)
{
b[j]=j;
}
staticinta[]={5,6,7,8},i;
Func(a);
for(i=0;
i<
i++)
printf("
a[i]);
数组传递时向函数传递的是数组的地址值,实参与形参共享空间,在被调函数中对数组进行修改就会造成主函数中的数组也被修改。
8.2
(1)
intPositiveNum(inta[],intn)
inti,count=0;
n;
if(a[i]>
0)count++;
returncount;
voidFib(longf[],intn)
inti;
f[0]=0;
f[1]=1;
for(i=2;
f[i]=f[i-1]+f[i-2];
(3)
inta[10],n,max,min,maxPos,minPos;
for(n=0;
n<
10;
n++)
scanf("
&
a[n]);
max=min=a[0];
maxPos=minPos=0;
if(a[n]>
max)
{
max=a[n];
maxPos=n;
}
elseif(a[n]<
min)
min=a[n];
minPos=n;
max=%d,pos=%d\n"
max,maxPos);
min=%d,pos=%d\n"
min,minPos);
(4)
#defineROW2
#defineCOL3
MultiplyMatrix(inta[ROW][COL],intb[COL][ROW],intc[ROW][ROW])
inti,j,k;
ROW;
for(j=0;
c[i][j]=0;
for(k=0;
k<
COL;
k++)
{
c[i][j]=c[i][j]+a[i][k]*b[k][j];
}
voidPrintMatrix(inta[ROW][ROW])
inti,j;
printf("
%6d"
a[i][j]);
\n"
);
inta[ROW][COL],b[COL][ROW],c[ROW][ROW],i,j;
Input2*3matrixa:
scanf("
a[i][j]);
Input3*2matrixb:
b[i][j]);
MultiplyMatrix(a,b,c);
Results:
PrintMatrix(c);
8-3、
viodDivArray(intpArray[],intn)
for(i=0;
pArray[i]/=pArray[0];
错误分析:
原代码中定义了一个未初始化的指针,而不是数组,有可能会使指针访问到不该访问的内存空间,造成危险,应该定义数组,对数组中的数进行修改操作。
8-6、
#defineN40
intReadscore(intscore[],longnum[]);
intFindMax(intscore[],longnum[],intn);
voidmain()
intscore[N];
longnum[N];
intn;
intm;
n=Readscore(score,num);
/*接收人数*/
m=FindMax(score,num,n);
最高的成绩:
%d\n学号为:
%ld\n"
score[m],num[m]);
intReadscore(intscore[],longnum[])
inti=-1;
do{
i++;
请输入学号:
"
%ld"
num[i]);
请输入成绩:
score[i]);
}while(score[i]>
=0&
&
num[i]>
=0);
returni;
intFindMax(intscore[],longnum[],intn)
intk;
intmax=score[0];
if(score[i]>
max=score[i];
k=i;
returnk;
8-7
voidSort(intscore[]);
voidReadscore(intscore[]);
intscore[10];
Readscore(score);
Sort(score);
voidReadscore(intscore[])
inputscore:
"
voidSort(intscore[])
intk,p;
inttemp;
intmin=score[0];
elseif(score[i]<
min=score[i];
p=i;
temp=score[k];
score[k]=score[p];
score[p]=temp;
%d"
score[i]);
8-10
inta[10][10];
intsum1=0;
intsum2=0;
请输入维数n(n<
=10):
scanf("
n);
请输入元素a[%d][%d]:
i,j);
sum1+=a[i][i];
sum2+=a[i][n-1-i];
主对角线之和:
%d\n副对角线之和:
%d\n"
sum1,sum2);
8-12
inta[7][7];
7;
i++)/*使对角线上、第一列的数均为1*/
a[i][i]=1;
a[i][0]=1;
i++)/*计算中间的数*/
for(j=1;
i;
a[i][j]=a[i-1][j-1]+a[i-1][j];
i++)/*打印杨辉三角形*/
=i;
}#include<
8-13
longFibonacci(intn);
longm;
m=Fibonacci(12);
m);
longFibonacci(intn)
if(n==0)
return0;
elseif(n==1)
return1;
els
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 第八 课程 答案