《C语言》函数练习题--3
《C语言》函数练习题–3
11. 计算字符串中元音字母的个数
题目描述:
编写一个C程序,定义一个函数countVowels
,接受一个字符串参数,返回字符串中元音字母(a, e, i, o, u)的个数。在main
函数中调用该函数并输出结果。
解题思路:
创建一个名为countVowels
的函数,通过遍历字符串,检查每个字符是否为元音字母(不区分大小写),若是,则增加计数器。最后返回计数器的值。在main
函数中,提示用户输入一个字符串,调用countVowels
函数并打印结果。
详细代码:
#include <stdio.h>
#include <ctype.h> // 用于tolower函数// 定义函数countVowels,返回字符串中元音字母的个数
int countVowels(char str[]) {int count = 0;for(int i = 0; str[i] != '\0'; i++) {char ch = tolower(str[i]); // 将字符转换为小写if(ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u')count++;}return count;
}int main() {char input[100];int vowelCount;// 提示用户输入一个字符串printf("请输入一个字符串: ");fgets(input, sizeof(input), stdin);// 去除fgets读取的换行符int i;for(i = 0; input[i] != '\0'; i++) {if(input[i] == '\n') {input[i] = '\0';break;}}// 调用countVowels函数计算元音字母的个数vowelCount = countVowels(input);// 输出结果printf("字符串中元音字母的个数是 %d。\n", vowelCount);return 0;
}
代码注释:
-
int countVowels(char str[])
:定义一个函数countVowels
,接受一个字符串参数,返回元音字母的个数。 -
char ch = tolower(str[i]);
:将当前字符转换为小写,便于比较。 -
if(ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u')
:检查当前字符是否为元音字母,若是,则增加计数器。 -
在
main
函数中:
- 使用
fgets
读取用户输入的字符串,包括空格。 - 遍历字符串,遇到换行符
\n
则替换为\0
。 - 调用
countVowels(input)
函数,获取元音字母的个数并存储在vowelCount
变量中。 - 使用
printf
输出结果。
- 使用
12. 计算数组元素的平均数和标准差
题目描述:
编写一个C程序,定义两个函数:calculateAverage
,计算数组元素的平均值;calculateStdDev
,计算数组元素的标准差。在main
函数中调用这两个函数并输出结果。
解题思路:
创建两个函数:
calculateAverage
:遍历数组,累加所有元素的值,计算平均值。calculateStdDev
:先调用calculateAverage
获取平均值,然后遍历数组,计算每个元素与平均值的差的平方,求和后取平均,再开平方得到标准差。 在main
函数中,提示用户输入数组的大小和元素,调用这两个函数并打印结果。
详细代码:
#include <stdio.h>
#include <math.h>// 定义函数calculateAverage,返回数组元素的平均值
double calculateAverage(int arr[], int size) {if(size == 0)return