c语言函数的3个编程题,给出完整的答案和解析
时间: 2024-05-02 20:22:09 浏览: 88
1、编写一个函数,计算一个整数数组中所有元素的和。
答案:
```c
int sum(int arr[], int n) {
int s = 0;
for (int i = 0; i < n; i++) {
s += arr[i];
}
return s;
}
```
解析:
该函数接受一个整数数组和数组长度作为参数,通过循环遍历数组,将每个元素累加到变量s中,最后返回s。循环遍历数组的方式可以使用for循环,也可以使用while循环或do-while循环。
2、编写一个函数,将一个字符串中的所有小写字母转换为大写字母。
答案:
```c
void to_upper(char str[]) {
int i = 0;
while (str[i] != '\0') {
if (str[i] >= 'a' && str[i] <= 'z') {
str[i] -= ('a' - 'A');
}
i++;
}
}
```
解析:
该函数接受一个字符串作为参数,通过循环遍历字符串中的每个字符,如果该字符是小写字母,则将其转换为大写字母。转换的方法是将该字符的ASCII码值减去('a' - 'A'),即将小写字母的ASCII码值减去32,得到对应的大写字母的ASCII码值。
3、编写一个函数,判断一个字符串是否是回文字符串。
答案:
```c
#include <string.h>
int is_palindrome(char str[]) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
if (str[i] != str[len - 1 - i]) {
return 0;
}
}
return 1;
}
```
解析:
该函数接受一个字符串作为参数,通过循环遍历字符串中的前一半字符,判断其与对应的后一半字符是否相等。如果有任何一组不相等的字符,则该字符串不是回文字符串,返回0;否则该字符串是回文字符串,返回1。字符串的长度可以使用strlen函数获取。注意,当字符串长度为奇数时,中间的字符可以忽略不计。
阅读全文