当前位置: 首页 > news >正文

《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函数中调用这两个函数并输出结果。

解题思路:
创建两个函数:

  1. calculateAverage:遍历数组,累加所有元素的值,计算平均值。
  2. calculateStdDev:先调用calculateAverage获取平均值,然后遍历数组,计算每个元素与平均值的差的平方,求和后取平均,再开平方得到标准差。 在main函数中,提示用户输入数组的大小和元素,调用这两个函数并打印结果。

详细代码:

#include <stdio.h>
#include <math.h>// 定义函数calculateAverage,返回数组元素的平均值
double calculateAverage(int arr[], int size) {if(size == 0)return 
http://www.lryc.cn/news/613657.html

相关文章:

  • 5分钟了解OpenCV
  • 【MATLAB】(十)符号运算
  • XCZU19EG-2FFVB1517I FPGA Xilinx AMD ZynqUltraScale+ MPSoC
  • 《C语言》指针练习题--1
  • Gitee上免费搭建博客
  • 从“炼金术”到“工程学”:深度学习十年范式变迁与未来十年路线图
  • UnivNet论文分析(20210615)
  • 为何毫米波需要采用不同的DPD方法?如何量化其值?
  • 机器学习之随机森林(Random Forest)实战案例
  • OpenAI 开源模型 GPT-OSS深度拆解:从1170亿参数到单卡部署,重构AI开源生态
  • Java面试宝典:类加载
  • 敏捷总结-上
  • 智能制造的中枢神经工控机在自动化产线中的关键角色
  • C++的入门学习
  • TCP粘包问题详解与解决方案
  • 如何在 Ubuntu 24.04 中永久更改主机名
  • MySQL面试题及详细答案 155道(061-080)
  • 动手学深度学习(pytorch版):第一章节——引言
  • DataEase官方出品丨SQLBot:基于大模型和RAG的智能问数系统
  • MCU-TC397的UCB初识
  • Effective C++ 条款27: 尽量用const、enum、inline替换 #define
  • 通过CNN、LSTM、CNN-LSTM及SSA-CNN-LSTM模型对数据进行预测,并进行全面的性能对比与可视化分析
  • JavaEE 初阶第十五期:文件 IO 的 “管道艺术”(上)
  • linux顽固进程查看并清理
  • 华为服务器中Mindie镜像的部署及启动方法
  • Python 基础详解:数据类型(Data Types)—— 程序的“数据基石”
  • AI代码审查大文档处理技术实践
  • 【MySQL】SQL优化
  • LG P7447 [Ynoi2007] rgxsxrs Solution
  • 树莓派安装OpenCV环境