l
练习一
假设现在有5个班,每个班10个人,设计一个二维数组存储这些人的年龄.
int arr[5][10] = {0};
练习二
如果想知道第二个班的第6个人的年龄,应该如何获取?编译器该如何获取?
C语言方式
arr[1][5];
编译器
arr[1][5]=(1*10+5)=15
存入的第15个数
练习三
打印所有班级,所有学生的年龄(每个班级打印一行).
int i,j;
for(i = 0; i<5; i++)
{
for(j=0; j<10; j++)
{
printf("第%d班的第%d个学生的年龄是%d\n",i, j, arr[i][j]);
}
}
int i=0, j=0;
while(i<5)
{
while(j<10)
{
printf("第%d班的第%d个学生的年龄是%d\n",i, j, arr[i][j]);
j++;
}
i++;
}
int i=0;
do {
j=0;
do
{
printf(“第%d班的第%d个学生的年龄是%d\n”,i, j, arr[i][j]);
j++;
}while(j<10);
i++;
}while(i<5);
练习四
将第二个班级的超过20岁的学生的年龄修改为21岁.
for(i=o; i<10; i++)
{
if(arr[2][i]>20)
arr[2][i] = 21;
}
while(i<10)
{
if(arr[2][i]>20)
arr[2][i] = 21;
i++
}
do
{
if(arr[2][i]>20)
arr[2][i] = 21;
i++
}while(i<10)
打印出每个班级学生的年龄的和.
int y;
for(i=0; i<5; i++)
{
y=0;
for(j=0; j<10; j++)
{
y=arr[i][j]+y;
}
printf("第%d班的年龄的和是%d\n",i, y);
}
int y;
i=0;
while(i<5)
{
y=0, j=0;
while(j<10)
{
y=arr[i][j]+y;
j++;
}
printf("第%d班的年龄的和是%d\n",++i, y);
}
int y;
i=0;
do
{
j=0, y=0;
do
{
y=arr[i][j]+y;
j++;
}while(j<10);
printf("第%d班的年龄的和是%d\n",++i, y);
}while(j<10);
练习六
数组一:[3,5,7,9,12,25,34,55] 数组二:[4,7,9,11,13,16]
将两个数组中所有数据进行从小到大的排序,存储到另一个数组中.
void Function()
{
int arr[8]={3,5,7,9,12,25,34,55}, arr1[6]={4,7,9,11,13,16}, arr2[14];
int i=0, x=0, y=0;
for(; i<14; i++)
{
if(y==6)
{
arr2[i]=arr[x];
x++;
}else if(x==8)
{
arr2[i]=arr1[y];
y++;
}else if(arr[x]<arr1[y])
{
arr2[i]=arr[x];
x++;
}else{
arr2[i]=arr1[y];
y++;
}
}
i = 0;
while(i<14)
{
printf("%d\n",arr2[i++]);
}
}