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
作为函数的返回值返回。可以在其他函数中调用该函数来计算数组中所有负数的和。