蓝桥杯 c++_ch02_01

本文提供了一个简单的C++程序示例,用于打印英文字母中所有元音字母(包括大写和小写)的ASCII码。程序直接使用字符常量获取ASCII值,并按指定顺序输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  算法提高 c++_ch02_01  
时间限制:1.0s   内存限制:512.0MB
    
  编写一个程序,利用强制类型转换打印元音字母大小写10种形式的ASCII码。
  输出的顺序为:大写的字母A,E,I,O,U的ASCII码,小写的字母a,e,i,o,u的ASCII码。所有的ASCII码都用十进制表示.输出10行,每行一个ASCII码,最后输出一个空行。

只想说,这是什么破题尴尬,然而为了保持我做蓝桥杯的完整记录性,写下来吧。
#include<stdio.h>
int main()
{
    printf("%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n",'A','E','I','O','U','a','e','i','o','u');
    return 0;
}


### 蓝桥杯 C++ 型及例 #### 回文数判断 回文数是指正读反读都相同的整数。对于这类目,可以利用标准库中的 `reverse` 函数来实现字符串反转操作[^1]。 ```cpp #include <algorithm> #include <string> bool isPalindrome(const std::string& str) { std::string reversed_str = str; std::reverse(reversed_str.begin(), reversed_str.end()); return str == reversed_str; } ``` 此代码片段展示了如何定义一个名为 `isPalindrome` 的函数用于检测给定字符串是否为回文串。通过创建原字符串的一份副本并调用 `std::reverse()` 方法将其翻转后再比较两者是否相等即可得出结论。 #### 字符处理与统计 另一类常见的问是涉及字符的处理和统计工作,在这里会经常遇到像 `isalnum` 和 `tolower` 这样的辅助工具函数: - `isalnum(ch)`:如果参数 ch 是字母或数字,则返回 true;否则返回 false。 - `tolower(ch)`:将大写字母转换成对应的小写形式(如果是小写字母则保持不变),非字母字符不作任何改变。 这些功能可以帮助程序员更方便地完成诸如忽略大小写的模式匹配或是过滤掉特定类型的输入数据等工作。 #### 序列分析与计数 下面这段程序来自往年的竞赛真——《整数删除》,它涉及到两个数组之间的索引位置关系以及满足条件的数量计算逻辑[^2]: ```cpp int CC1[500000]; int CC2[500000]; int main() { int k, len, s = 0, t = 0; long long ans = 0; std::cin >> k; std::string S; char c1, c2; std::cin >> S >> c1 >> c2; len = S.size(); for (int i = 0; i < len; ++i){ if (S[i] == c1) CC1[s++] = i; if (S[i] == c2) CC2[t++] = i; } for (int i = 0; i < s; ++i){ for (int j = 0; j < t; ++j) if ((CC2[j] - CC1[i]) >= k - 1) ++ans; } std::cout << ans; return 0; } ``` 上述源码实现了这样一个算法流程:先分别记录下目标子序列中首次出现指定字符的位置集合,之后遍历这两个集合寻找符合条件的距离差值组合数目。 #### 动态规划求解路径数量 最后介绍一道有关动态规划的应用实例,该问来源于更高阶别的比赛项目里关于状态转移方程式的构建思路[^3]: \[ f[i][j]=\sum_{k=j-1}^{i-1}{f[i-1][k]} \] 这表示当前格子可以从上一行任意一列到达当前位置的可能性之和。具体到实际编码时可以通过累加的方式逐步更新每一层的状态直到最终得到所求的结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值