当前位置:首页 » 编程语言 » c语言实验七二维数组
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言实验七二维数组

发布时间: 2022-03-11 21:01:58

‘壹’ 实训任务 c语言 使用二维数组保存数据

for(i=0;i<2;i++)
{for(j=0;j<3;j++)
{scanf("%d",&a[i][j]);}
}

‘贰’ C语言关于一个二维数组的实验

c语言中直接输出一个二维数组是用数组来访问输出的,例子:
#include<stdio.h>
#define M 4
#define N 3
void main()
{
int a[M][N],i,j;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
a[i][j]=3*i+j;

for(i=0;i<M;i++)
{ for(j=0;j<N;j++)
printf("%d\t",a[i][j]);//直接用数组来访问
printf("\n");
}

}
除了可以直接访问,也可以用指针来访问,用指针指向该数组,便可进行对数组的读写操作。

‘叁’ C语言问题,二维数组

这个虽然是二维数组,但准确的来说是“图”,也就是 Graph model。
首先,这个gm数组里面初始化为0。它的行标(也就是数组的第一个下标)代表顺序,1、2、3……这样的,列标代表字母,元素的值(例如 gm[1]['H'])代表下一步的位置。
先解释一下,比如说老师右上角写了 HELO 之类的,假设他要表示一个单词,那么第一个字母就是 H,第二个字母就是 E,以此类推,那么我们怎么用这个数组表示这一顺序呢?首先我们扫描第0行,也就是 gm[0][i],'A' <= i <= 'Z',这个理解吧,用一个循环依次扫描数组的第二个下标,直到找到了 gm[0]['H']=1,这就代表着我们第一个字母就是 H,下一步就要从第1行开始找,直到找到了 gm[1]['E']=2,表示找到的字母是 E,并且下一次应该从第2行开始找,以此类推,直到遇到了一个负数。这样就把数组里面的内容连接起来了,找到了第一个,就知道了下一步应该从哪里找。
用这样的思路看一下MAIL,在第0行找到了 gm[0]['M']=5,那么第一个字母就是 M,并且下一次从第5行开始找,找到了 g[5]['A']=7……最后遇到了-2,结束。
这就是白板上的主要信息了,因为涉及到图的知识比较复杂我就不多展开了,你可以找一本教材来看。

Copyleft Frank.Xin,20191028-23:12

‘肆’ c语言 二维数组

二维数组可以理解为“元素是数组的数组”,或者说“一维数组的一维数组”。比如
char a[2][3],可以看成是一个一维数组,这个一维数组有2个元素,这2个元素分别是a[0]和
a[1]。其中a[0]和a[1]实际上是两个数组的首地址(即一维指针),而这两个一维数组是字符数组,也就是说它们的元素是字符。a[0]和a[1]是这两个字符数组的数组名,如果要引用其中的字符元素,要在后面用“[下标]”的形式,例如a[0][2]。

‘伍’ C语言编程 实验要求:有5名学生,求高分学生的所有信息,用二维数组。望大家帮个忙

#include <stdio.h> #include <stdlib.h> int main() { int student[5][2];//第0列存学号,第1列存成绩 int i; int index; int max; for(i = 0;i < 5;i++) { printf("\n请输入学生的学号和成绩:"); scanf("%d %d",&student[i][0],&student[i][1]); } max = student[0][1]; index = 0; for( i = 1;i < 5;i++) { if(student[i][1] > max) { max = student[i][1]; index = i; } } printf("\n最高分学生的学号为:%d,成绩为:%d.\n",student[index][0],student[index][1]); system("PAUSE"); return 0; }

‘陆’ c语言二维数组实验题

发现你用了很多中符,下面我做的,你自己参考参考

#include<stdio.h>
#include<string.h>
intmain()
{
inti=3,score[3],j,max,k=0;
charA[3][20],B[20];
printf("输入三个学生姓名和成绩 ");
for(j=0;j<3;j++)
{
scanf("%s%d",A[j],&score[j]);
}
max=score[0];
for(j=1;j<3;j++)
{
if(score[j]>max)
{
max=score[j];
k=j;
}
}
printf("最高分数的人:");
printf("%s%d ",A[k],score[k]);
printf("输入搜索的名字:");
scanf("%s",B);
for(j=0;j<3;j++)
{
if(strcmp(A[j],B)==0)
printf("%s的分数为%d ",B,score[j]);
}
return0;
}

‘柒’ C语言二维数组

c[][1]={1,2,3}; 根据初始化的数据,得出这个数组 有3行,每行1列。
等价于声明了: c[3][1];
所以 语句 要 用 for (x=0;x<3;x++) for (y=0;y<1;y++) { 来输出 c[x][y] }
而你用 了 y<3, 所以错了,
有c[0][0], 没有 c[0][1], 没有 c[0][2],
有c[1][0], 没有 c[1][1], 没有 c[1][2],
有c[2][0], 没有 c[2][1], 没有 c[2][2].

‘捌’ c语言二维数组

1,数字个数是9个,所以确定数组t的下标为t[3][3];
2,t[3][3]懂得9个元素分别为,
t[0][0] t[0][1] t[0][2]
t[1][0] t[1][1] t[1][2]
t[2][0] t[2][1] t[2][2]
注意,数组地址的起始是从0开始的,也就是说t[3]的3个元素下标内应该是0 1 2,而不是1 2 3,请把数组定义和数组调用时下标区分开
按照数组初始化规则下标变化从右边优先,按顺序把值给相应的地址如下
t[0][0]={9}; t[0][1]={8}; t[0][2]={7};
t[1][0]={6}; t[1][1]={5}; t[1][2]={4};
t[2][0]={3}; t[2][1]={2}; t[2][2]={1};
从上面就可以看出每个元素的值了