当前位置: 首页 > 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.xdnf.cn/news/1259083.html

相关文章:

  • FluentUI-main的详解
  • 【Day 18】Linux-DNS解析
  • 聚水潭API数据接口开发手机端网页查询商品仓位库位库存工具,支持扫描识别,预览图片
  • 第五节 Pyside6可视化界面
  • 支付宝小程序商城怎么搭?ZKmall开源商城教你借力蚂蚁生态做增长
  • C++的入门学习
  • 力扣238:除自身之外数组的乘积
  • 4G/5G无线电单元系统
  • 网络安全与软件定义汽车的发展
  • 计算机视觉前言-----OpenCV库介绍与计算机视觉入门准备
  • 学习嵌入式第二十二天
  • Centos6停止服务后yum改用阿里云
  • python中的集合
  • OpenCV 入门教程:开启计算机视觉之旅
  • Redis 编译错误:缺少静态库文件,如何解决?
  • MCU中的晶振(Crystal Oscillator)
  • 机试备考笔记 7/31
  • Linux总线,设备和驱动关系以及匹配机制解析
  • 国内使用 npm 时配置镜像源
  • 多模态融合(Multimodal Fusion)
  • 多线程问题,子线程同时操作全局变量,使用后需要清空吗 ?
  • MyBatis-Plus Service 接口:如何在 MyBatis-Plus 中实现业务逻辑层??
  • RabbitMQ面试精讲 Day 15:RabbitMQ故障转移与数据恢复
  • 5G专网提高产业生产力
  • STM32学习笔记4-OLED外部中断和中断系统
  • Ubuntu 系统 Docker 启动失败(iptables/nf\_tables)
  • Java基础学习1(Java语言概述)
  • 深入解析Java类加载机制:双亲委派模型的设计与实现
  • Springboot 使用 JPA 分页查询
  • Docker Buildx最佳实践:多架构镜像构建指南