C 语言函数试题详解106


函数是 C 语言中强大的工具,它允许我们将代码封装成可重用的模块。函数可以接受参数,并返回一个值。在 C 语言编程中,理解函数的正确使用至关重要。下面是一些与 C 语言函数相关的试题,以及详细的解答:

试题 1编写一个 C 语言函数,用于计算两个整数的最大公约数 (GCD)。

解答:


```c
int gcd(int num1, int num2) {
if (num2 == 0) {
return num1;
}
return gcd(num2, num1 % num2);
}
```

这个函数使用欧几里得算法来计算 GCD。它通过递归调用来重复计算一个数除以另一个数的余数,直到余数变为 0,此时函数返回第一个数。

试题 2编写一个 C 语言函数,用于对一个数组中的元素进行升序排序。

解答:


```c
void sortArray(int arr[], int size) {
for (int i = 0; i < size - 1; i++) {
for (int j = i + 1; j < size; j++) {
if (arr[i] > arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
```

这个函数使用冒泡排序算法对数组中的元素进行排序。它通过比较相邻的元素并交换较大的元素和较小的元素,反复遍历数组,直到数组有序。

试题 3编写一个 C 语言函数,用于查找一个字符串中第一个出现特定字符的位置。

解答:


```c
int findCharacter(char str[], char c) {
int index = -1;
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] == c) {
index = i;
break;
}
}
return index;
}
```

这个函数遍历字符串,逐一检查每个字符是否等于特定字符。如果找到匹配项,则函数返回第一个出现的位置;否则,函数返回 -1。

试题 4编写一个 C 语言函数,用于将一个十进制数转换为二进制数。

解答:


```c
int decimalToBinary(int decimal) {
int binary = 0;
int remainder, i = 1;
while (decimal != 0) {
remainder = decimal % 2;
decimal /= 2;
binary += remainder * i;
i *= 10;
}
return binary;
}
```

这个函数使用连续除法算法将十进制数转换为二进制数。它通过反复除以 2,并将余数附加到二进制数的末尾来执行此操作。

试题 5编写一个 C 语言函数,用于查找两个字符串中最长的公共子序列。

解答:


```c
int longestCommonSubsequence(char str1[], char str2[]) {
int len1 = strlen(str1);
int len2 = strlen(str2);
int lcs[len1 + 1][len2 + 1];
for (int i = 0; i

2024-11-18


上一篇:C 语言头函数:构建强大程序的基础

下一篇:C 语言输出数据的详解