当前位置: 首页 > 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.dtcms.com/a/320272.html

相关文章:

  • (易视宝)易视TV is-E4-G-全志A20芯片-安卓4-烧写卡刷工具及教程
  • Docker国内可用镜像列表(长期免费)
  • 三重移相的TPS双有源桥(DAB)变换器【simulink仿真模型】
  • python见缝插针小游戏源码。(可复制)
  • 【tips】css模仿矢量图透明背景
  • 目前常用于视频会议的视频编码上行/下行带宽对比
  • mysql_mcp_server_pro源码部署及启动报错新手指南:让智能体长出手来直接获取到最底层的数据
  • AI应用案例全景分析:从理论到实践
  • dmctlcvt工具介绍数据文件路径变化后如何拉起数据库
  • 基于 FreeMarker 实现 SQL 模板动态生成的完整指南
  • 移动端项目框架推荐
  • Effective C++ 条款27: 尽量用const、enum、inline替换 #define
  • restTemplate禁用url编码
  • 安装mkdocs
  • Python从入门到精通——第六章 字典与集合
  • 「日拱一码」046 分支定界算法
  • Airflow 入门案例教程
  • 前端性能优化:从请求到资源的精细调控
  • 【第9话:感知算法基础1】深度学习神经网络模型基础知识概念入门简介
  • 批量获取亚马逊商品SKU商品规格调用流程
  • 【实时Linux实战系列】基于实时Linux的高频交易系统构建
  • Python 常用内置高阶函数
  • RabbitMQ面试精讲 Day 15:RabbitMQ故障转移与数据恢复
  • C++ min循环超超超详细指南
  • WFP DNS 域名解析
  • 深入理解C++模板进阶:非类型参数、特化与分离编译
  • Linux节点创建API与路径对应关系
  • AI日报0807 | GPT-5或今晚1点来袭:四大版本全曝光
  • 什么是 TDengine IDMP?
  • Disruptor 消费者核心:BatchEventProcessor解析