实验四数组二Word文档下载推荐.docx
- 文档编号:19737900
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:15
- 大小:1.13MB
实验四数组二Word文档下载推荐.docx
《实验四数组二Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《实验四数组二Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
i<
10;
i++)
gets(a[i]);
9;
for(j=i+1;
j<
j++)
if(strcmp(a[i],a[j])>
0)
{
strcpy(x,a[j]);
strcpy(a[j],a[i]);
strcpy(a[i],x);
}
for(i=0;
i++)printf("
\n%s"
a[i]);
return0;
}
●程序流程图
●实验结果
题目2:
求两个矩阵的积。
如:
运算规则为:
第i行第j列相乘得到结果矩阵中r[i][j]的值。
比如:
r[0][0]=1*1+2*5+3*8=35;
r[0][1]=1*5+2*3+3*1=14;
r[1][0]=4*1+5*5+6*8=77;
r[1][1]=4*5+5*3+6*1=41;
要求:
1.数组的行数和列数不超过100。
2.输入第一行中,第一个正整数m,表示第一个矩阵的行数,输入第二个正整数n,表示第一个矩阵的列数,也即是第二个矩阵的行数,输入第三个正整数p,表示第二个矩阵的列数。
3.接下来的m*n个数是第一个矩阵中的数。
4.再接下来的n*p个数是第二个矩阵中的数。
5.输出计算结果,为一个m行,p列的矩阵。
无
#include<
intmain()
{
inta[100][100]={0};
intb[100][100]={0};
intc[100][100]={0};
inti=0,j=0,k=0;
intn=0;
intx=0,y=0,z=0;
printf("
请输入矩阵a的行数:
"
);
scanf("
%d"
&
x);
请输入矩阵a的列数:
y);
请输入矩阵a,元素之间用Tab隔开:
\n"
x;
{
for(j=0;
y;
scanf("
a[i][j]);
printf("
}
请输入矩阵b的行数:
请输入矩阵b的列数:
z);
请输入矩阵b,元素之间用Tab隔开:
z;
b[i][j]);
}
//jisuan
for(i=0;
for(k=0;
k<
k++)
c[i][j]+=a[i][k]*b[k][j];
//output
for(i=0;
i<
x;
for(j=0;
j<
z;
printf("
%d\t"
c[i][j]);
return0;
}
●程序流程图【必须有】
题目3:
求矩阵的鞍点。
鞍点位置上的元素在该行中值最大,在该列中值最小。
如下面矩阵的鞍点为35。
【输入】前两个数为行数和列数,其后是矩阵中的元素
【输出】如果没有鞍点,输出NO;
如果有输出格式为:
[值1,行下标1,列下标1],[值2,行下标2,列下标2]……
下标的输出转换。
{
inta[100][100];
intm,n,i,j,sign;
printf("
inputmandn:
scanf("
%d%d"
m,&
n);
请输入这个矩阵\n"
m;
for(j=0;
n;
for(sign=0,j=1;
if(a[i][sign]<
a[i][j])
sign=j;
for(j=0;
if(a[i][sign]>
a[j][sign])
break;
if(j>
=m)
printf("
鞍点是:
%d\n"
a[i][sign]);
题目4:
井字格游戏
本题目可替代题目1~3作为实验容。
程序大致的执行过程如图所示:
功能包括:
1.允许两个玩家下棋
2.允许玩家输入下棋的坐标
3.显示当前棋盘状态
4.判断玩家是否下错位置,即在已经下过棋的位置再次下棋
5.判断玩家下棋后,输赢状态
6.在屏幕提示中指导玩家交替下棋
#include<
stdlib.h>
intc,i,j,kongzhi=1,i=1;
intbasic[3][3]={0,0,0,0,0,0,0,0,0};
inttasic[3][3]={0,0,0,0,0,0,0,0,0};
charT[3][3];
intprinterA(intsite1,intsite2){
if(tasic[site1][site2]==0&
&
basic[site1][site2]==0){
basic[site1][site2]=1;
T[site1][site2]='
X'
;
3;
i++){
-------\n"
j++){
|"
%c"
T[i][j]);
|\n"
if(i==2){
else
return99;
intprinterB(intsite1,intsite2){
tasic[site1][site2]=-1;
O'
else
return-99;
intmain(){
intm,n,a,b;
while(kongzhi==1){
do{
a=0;
请A下子:
system("
cls"
a=printerA(m,n);
if(a==99)
对不起,您下错位置了!
while(a==99);
if((basic[0][0]+basic[0][1]+basic[0][2]==3)||(basic[1][0]+basic[1][1]+basic[1][2]==3)||(basic[2][0]+basic[2][1]+basic[2][2]==3)||(basic[0][0]+basic[1][1]+basic[2][2]==3)||(basic[0][2]+basic[1][1]+basic[2][0]==3))
A赢了!
return0;
b=0;
请B下子:
b=printerB(m,n);
if(b==-99)
while(b==-99);
if((tasic[0][0]+tasic[0][1]+tasic[0][2]==-3)||(tasic[1][0]+tasic[1][1]+tasic[1][2]==-3)||(tasic[2][0]+tasic[2][1]+tasic[2][2]==-3)||(tasic[0][0]+tasic[1][1]+tasic[2][2]==-3)||(tasic[0][2]+tasic[1][1]+tasic[2][0]==-3))
B赢了!
i++;
if(i==9){
平局!
return0;
2.2.实验心得体会
●本次实验的收获是什么
了解strcpy函数和strcmp函数。
二维数组的赋值与输入输出。
●遇到了哪些问题,如何解决的
1.矩阵相乘;
解决,找到行与列还有两个矩阵中列和行相等的关系
2.Strcpy函数若前一个字符串长后一个短,执行完后前一个字符串并不为后一个字符串,即\0后还有字符。
三、实验要求
1.利用F10进行循环结构的单步跟踪练习
2.实验报告容
2.1.实验容及结果
3.报告命名
学号_班级__日期.docx
2013011296_软工1301_白雪_20141205.docx
4.报告上传
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 数组