1,写一个函数,判断一个字符串是否是回文字符串。
下面给出一个用于判断一个字符串是否是回文字符串的demo 函数
#include <stdio.h>
#include <string.h> int isPalindrome(char str[]) { int len = strlen(str); for (int i = 0; i < len / 2; i++) { if (str[i] != str[len - i - 1]) { return 0; } } return 1;
} int main() { char str[100]; printf("请输入一个字符串:"); scanf("%s", str); if (isPalindrome(str)) { printf("%s 是回文字符串\n", str); } else { printf("%s 不是回文字符串\n", str); } return 0;
}
该函数使用一个循环来比较字符串中的字符,如果它们不相等,则该字符串不是回文字符串。循环变量 i
从字符串的第一个字符开始,到字符串的中间位置结束。然后,使用另一个循环变量 len - i - 1
,从字符串的最后一个字符开始,到字符串的中间位置结束。如果这两个字符不相等,则该字符串不是回文字符串。如果整个字符串都被比较完毕,则该字符串是回文字符串。
2,写一个函数,将一个整数转换为字符串。
#include <stdio.h>
#include <stdlib.h> char* intToString(int num) { int len = snprintf(NULL, 0, "%d", num); char* str = (char*)malloc(len + 1); snprintf(str, len + 1, "%d", num); return str;
} int main() { int num = 12345; char* str = intToString(num); printf("%s\n", str); free(str); return 0;
}
该函数使用snprintf
函数将整数转换为字符串,并分配足够的内存来存储该字符串。然后,该函数返回指向该字符串的指针。在主函数中,我们使用该函数将整数转换为字符串,并打印该字符串。最后,我们释放分配的内存以避免内存泄漏。
3,写一个函数,求一个数组中所有元素的平均值。
#include <stdio.h> double arrayAverage(int arr[], int size) { int sum = 0; double avg = 0.0; for (int i = 0; i < size; i++) { sum += arr[i]; } avg = (double)sum / size; return avg;
} int main() { int arr[] = {1, 2, 3, 4, 5}; int size = sizeof(arr) / sizeof(arr[0]); double avg = arrayAverage(arr, size); printf("The average of the array is %.2f\n", avg); return 0;
}
该函数名为arrayAverage
,它接受两个参数:一个整型数组arr
和数组的大小size
。在函数中,我们首先定义了一个整型变量sum
和一个浮点型变量avg
,用于计算数组元素的总和和平均值。然后,我们使用一个循环遍历整个数组,并将每个元素加到sum
中。最后,我们将sum
除以数组的大小,得到平均值avg
,并将其返回。在主函数中,我们定义了一个整型数组,并计算了该数组的平均值。最后,我们打印了平均值的结果。
4,写一个函数,求一个数组中所有正数的和。
int sumOfPositives(int arr[], int size) { int sum = 0; for (int i = 0; i < size; i++) { if (arr[i] > 0) { sum += arr[i]; } } return sum;
}
该函数名为sumOfPositives
,它接受两个参数:一个整型数组arr
和数组的大小size
。在函数中,我们首先定义了一个整型变量sum
,用于计算数组中所有正数的和。然后,我们使用一个循环遍历整个数组,如果当前元素大于0,则将其加到sum
中。最后,我们将sum
作为函数的返回值返回。可以在其他函数中调用该函数来计算数组中所有正数的和。
5,写一个函数,求一个数组中所有负数的和
int sumOfNegatives(int arr[], int size) { int sum = 0; for (int i = 0; i < size; i++) { if (arr[i] < 0) { sum += arr[i]; } } return sum;
}
该函数名为sumOfNegatives
,它接受两个参数:一个整型数组arr
和数组的大小size
。在函数中,我们首先定义了一个整型变量sum
,用于计算数组中所有负数的和。然后,我们使用一个循环遍历整个数组,如果当前元素小于0,则将其加到sum
中。最后,我们将sum
作为函数的返回值返回。可以在其他函数中调用该函数来计算数组中所有负数的和。