1.简答题
1.请阐述一维数组的初始化方式
答: 一维数组的初始化可以通过以下几种方式实现:
-
完全初始化:在定义数组时给所有元素赋初值,这时数组的每个元素都有明确的值.
-
部分初始化:只对数组中的一部分元素赋值,未指定的元素会被自动赋值为0.
-
不指定长度的初始化:可以在初始化时不指定数组的长度,系统会根据给定的初始值的个数来定义数组的长度.
-
在定义后初始化:可以在定义数组后,通过赋值语句对数组进行初始化.
2.编程题
1.请编写程序实现以下功能
从键盘输入六个整数
找出这六个整数的最大值,并将其输入到控制台
代码如下:
int arr[6];
int max;
printf("请输入六个整数:");
for(int i = 0; i < 6; i++){
scanf("%d", &arr[i]);
}
max = arr[0];
for(int i = 1; i < 6; i++){
if(arr[i] > max){
max = arr[i];
}
}
printf("最大值为:%d\n", max);
效果如图:
2.请编写程序实现以下功能
从键盘输入六个整数
使用冒泡排序法将这六个整数从小到大排序
代码如下:
int arr[6];
for (int i = 0; i < 6; i++){
scanf("%d", &arr[i]);
}
for (int i = 0; i < 5; i++){
int is = 0;
for (int j =0; j < 5 - i; j++){
if (arr[j] > arr[j + 1]){
int a = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = a;
is = 1;
}
}
if (is ==0){
break;
}
printf("\n");
for (int k = 0; k < 6; k++){
printf("%d\t", arr[k]);
}
}
效果如图:
3.矩阵转置是线性代数的基本算法,就是将矩阵的行 列交换, 即将行变成列,将列变成行.要求编写程序,实现输入一个四行四列的矩阵,将矩阵转置后输出.
代码如下:
int arr[4][4];
int brr[4][4];
// 输入4行4列矩阵
printf("请输入4行4列矩阵:\n");
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
scanf("%d", &arr[i][j]);
}
}
// 矩阵转置
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
brr[j][i] = arr[i][j];
}
}
// 输出转置后的矩阵
printf("转置后的矩阵:\n");
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
printf("%d ", brr[i][j]);
}
printf("\n");
}
效果如图: