C语言 实验五数组程序设计解答文档格式.docx
《C语言 实验五数组程序设计解答文档格式.docx》由会员分享,可在线阅读,更多相关《C语言 实验五数组程序设计解答文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
5678
9101112
[提示]利用二重for循环结构与printf()。
#include<
stdio.h>
voidmain()
{
inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
inti,j;
printf("
二维数组:
\n"
);
for(i=0;
i<
3;
i++)
for(j=0;
j<
4;
j++)
%6d"
a[i][j]);
}
2([目的]掌握二维数组的输入、输出方法。
[题目内容]已知有一个3行2列的二维数组:
8976
6798
5478
编程序~从键盘输入数据存储在二维数组中~并以3行2列的形式输出。
[输入]89~76~67~98~54~78
8976
[提示]利用二重for循环结构与scanf()、printf()及%4d格式输出。
#include<
voidmain()
inta[3][2];
请输入3行2列二维数组:
2;
scanf("
%d"
&
a[i][j]);
%4d"
3([目的]掌握二维数组的输入、输出、处理方法。
[题目内容]编程序~生成一个5行5列的二维矩阵~并输出。
10000
01000
00100
00010
00001
[提示]利用for循环结构~生成原则:
行下标与列下标相同的数组元素为1~其
余为0。
%4d格式输出。
inta[5][5];
5;
if(i==j)a[i][j]=1;
elsea[i][j]=0;
4([目的]运用所学知识解决矩阵转置问题。
×
2矩阵~编程序~将a矩阵转置~生成矩阵b,2×
3,~[题目内容]设a矩阵是3
并输出。
[输入]a矩阵
[输出]b矩阵
[提示]利用不同矩阵行列下标的关系。
b=a,iiji#include<
inta[3][2],b[2][3];
请输入a数组:
b[j][i]=a[i][j];
a数组:
b数组:
b[i][j]);
5([目的]运用所学知识解决矩阵相乘问题。
[题目内容]设a矩阵是3×
2矩阵~b矩阵是2×
3矩阵~满足矩阵相乘条件~编
程序~将a矩阵×
b矩阵生成c矩阵,3×
3,~并输出。
[输入]a矩阵、b矩阵
[输出]c矩阵
2
c,a,b,ijikkj[提示]计算公式:
1k
inta[3][2],b[2][3],c[3][3]={0};
inti,j,k;
请输入b数组:
b[i][j]);
for(k=0;
k<
k++)
c[i][j]=c[i][j]+a[i][k]*b[k][j];
printf("
c数组:
c[i][j]);
6([目的]运用所学知识解决矩阵问题。
[题目内容]设有一个5×
5方阵~编程序~判断该方阵是否为对称矩阵。
并输出
判断结果。
[输入]5×
5方阵
[输出]判断结果
[提示]如果矩阵中的每个元素都满足array[i][j]=array[j][i]~则称这个矩阵为对称
矩阵。
inti,j,flag=0;
请输入5*5数组:
if(a[i][j]!
=a[j][i])flag=1;
if(flag==0)printf("
是对称矩阵。
elseprintf("
不是对称矩阵。
[题目内容]设有一个3行5列的二维数组~编写程序从键盘输入数据~建立这
个二维数组~并找出二维数组中的鞍点。
[输入]3×
5矩阵
[输出]鞍点
[提示]鞍点是指在行上是最大但是所在列最小的元素,这样的元素可能不存在,。
inta[3][5];
inti,j,k,m,max,flag;
请输入3*5数组:
max=a[i][0];
if(a[i][j]>
max){max=a[i][j];
k=j;
for(m=0;
m<
m++)
if(a[m][k]<
max)flag=1;
elseflag=0;
鞍点是:
a[%d][%d]=%d\n"
i,k,a[i][k]);
7([目的]运用所学知识解决实际问题。
[题目内容]如下数据表显示了4个销售人员所售的3种物品的数量。
物品1物品2物品3销售人员1310275365
销售人员2210190325
销售人员3405235240
销售人员4260300380
请使用二维数组编写程序~计算并显示以下信息:
1,每个销售人员的销售总值
2,每种物品的销售总值
3,所有销售人员销售的全部物品的总值
[输入]销售数据表数据
[输出]计算结果
[提示]建立一个5×
4的二维数组
inta[5][4];
请输入4*3数组:
原数组:
a[4][j]=0;
a[4][j]=a[4][j]+a[i][j];
a[i][3]=0;
a[i][3]=a[i][3]+a[i][j];
所求数组:
}
8([目的]运用所学知识解决实际问题。
设某班有20个学生~每个学生选修了三门课~编写程序~输入20[题目内容]
个学生三门课的成绩~计算每个学生的平均成绩~最后输出每个学生三门课的成
绩及平均成绩。
[输入]20个学生三门课的成绩
[输出]每个学生三门课的成绩及平均成绩[提示]建立一个20×
4