下面是一个使用C语言实现比较数组和2D数组的代码示例,以及一个使用莫斯码转换的示例:
#include
#include
// 比较数组是否相等
bool compareArrays(int arr1[], int arr2[], int size) {
for (int i = 0; i < size; i++) {
if (arr1[i] != arr2[i]) {
return false;
}
}
return true;
}
// 比较2D数组是否相等
bool compare2DArrays(int arr1[][3], int arr2[][3], int rows, int cols) {
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
if (arr1[i][j] != arr2[i][j]) {
return false;
}
}
}
return true;
}
// 莫斯码转换函数
void morseCode(char* message) {
for (int i = 0; message[i] != '\0'; i++) {
switch(message[i]) {
case 'A':
case 'a':
printf(".- ");
break;
case 'B':
case 'b':
printf("-... ");
break;
// 添加其他字母的莫斯码映射
// ...
default:
printf(" "); // 空格表示字母之间的间隔
}
}
printf("\n");
}
int main() {
int arr1[] = {1, 2, 3, 4, 5};
int arr2[] = {1, 2, 3, 4, 5};
int arr3[] = {1, 2, 3, 4, 6};
// 比较数组
if (compareArrays(arr1, arr2, 5)) {
printf("arr1 and arr2 are equal.\n");
} else {
printf("arr1 and arr2 are not equal.\n");
}
if (compareArrays(arr1, arr3, 5)) {
printf("arr1 and arr3 are equal.\n");
} else {
printf("arr1 and arr3 are not equal.\n");
}
int arr4[][3] = {{1, 2, 3}, {4, 5, 6}};
int arr5[][3] = {{1, 2, 3}, {4, 5, 6}};
int arr6[][3] = {{1, 2, 3}, {4, 5, 7}};
// 比较2D数组
if (compare2DArrays(arr4, arr5, 2, 3)) {
printf("arr4 and arr5 are equal.\n");
} else {
printf("arr4 and arr5 are not equal.\n");
}
if (compare2DArrays(arr4, arr6, 2, 3)) {
printf("arr4 and arr6 are equal.\n");
} else {
printf("arr4 and arr6 are not equal.\n");
}
// 莫斯码转换
char message[] = "SOS";
morseCode(message);
return 0;
}
此代码示例中,compareArrays
函数用于比较两个一维数组是否相等,compare2DArrays
函数用于比较两个二维数组是否相等。morseCode
函数用于将输入的字符串转换为莫斯码输出。
在主函数中,我们创建了一些示例数组,并调用了相应的函数进行比较和莫斯码转换。
下一篇:比较数组和对象出现的问题