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

C++ Primer Plus 编程练习题 第六章 分支语句和逻辑运算符

1.大小写转换

使用cctype库里的函数进行大小写转换,但要注意使用toupper或tolower时要进行强制类型转换,否则会输出ASCII值

#include <iostream>
#include<cctype>
using namespace std;

int main() 
{
    cout << "请输入字符串(大小写转换将遇到@时结束):\n";
    char ch;
    char res;
    cin.get(ch);
    while (ch != '@')
    {
        if (islower(ch))
            cout<<(char) toupper(ch);
        else if (isupper(ch))
            cout<<(char)tolower(ch);
        cin.get(ch);
    }
    return 0;
}

2.平均值比较

重点在于前面读取num时的处理,当读取类型为数字时并且count<10时读取

#include <iostream>
#include<array>
#include<cctype>
using namespace std;

int main() 
{
    const int Arsize = 10;
    array<double, Arsize>donation;
    cout << "您最多可以输入10个数字,在遇到非数字输入时将结束:\n";
    double num;
    int count = 0;
    double sum = 0;
    int res = 0;
    while (cin >> num && count<Arsize)
    {
        donation[count] = num;
        sum += num;
        count += 1;
    }
    double ave;
    ave = sum / count;
    int i = 0;
    while (i <count)
    {
        if (donation[i] > ave)
            res += 1;
        i++;
    }
    
    cout << "输入数字大于平均值的个数为" << res<<'\n';
    cout << "输入数字平均值为" << ave;
    return 0;
}

相关文章:

  • 544 eff.c:1761处loop vect 分析
  • C++ 基本语法
  • C#/.NET/.NET Core技术前沿周刊 | 第 33 期(2025年4.1-4.6)
  • 【动态规划】 深入动态规划 回文子串问题
  • 浅谈Apache
  • 汉得企业级 PaaS 平台 H-ZERO 1.12.0 发布!四大维度升级,构建企业数字化新底座
  • STL c++ list——模拟实现
  • vue.config.js配置代理(输出代理前后的地址)
  • EG8200Mini-104边缘计算网关!聚焦IEC104协议的工业数据转换与远程运维平台
  • 【锂电池SOH预测】PSO-BP锂电池健康状态预测,锂电池SOH预测(Matlab完整源码和数据)
  • 数据链路层以太网协议
  • XYCTF2025 web 全wp
  • 【C++】stack和queue
  • Linux平台搭建MQTT测试环境
  • 使用scoop一键下载jdk和实现版本切换
  • Python数据分析-NumPy模块-矩阵的运算
  • Vue3+Ts封装ToolTip组件(2.0版本)
  • Vue.js 中 v-if 的使用及其原理
  • Nginx漏洞复现
  • andorid 查找没有使用的资源
  • 俄土外长通话讨论俄乌谈判问题
  • 巴基斯坦全国航班仍持续延误或取消
  • 江苏省人社厅党组书记、厅长王斌接受审查调查
  • 第32届梅花奖终评启幕,上海京剧院《智取威虎山》满堂彩
  • 太原一高中生指出博物馆多件藏品标识不当,馆方已邀请他和专家共同探讨
  • 叙利亚政权领导人首访西方国家,与法国总统讨论叙局势