C++特训题目(3)

  以下是难度稍高的十道C++普及组题目,涉及稍复杂的逻辑处理、数组应用和基础算法,适合进阶练习。

   1. 求最大公约数和最小公倍数

   输入两个正整数a和b,输出它们的最大公约数(GCD)和最小公倍数(LCM)。

提示:LCM(a,b) = a×b / GCD(a,b)

输入示例: 12 18 

输出示例: 6 36 

 

2. 数组去重与排序

 输入n个整数(n≤100),去除重复的数字后,将剩余数字按从小到大的顺序输出。

输入示例: 5 3 2 2 5 4 

输出示例: 2 3 4 5 

 

3. 统计元音字母个数

 输入一个字符串(可包含大小写字母和空格),统计其中元音字母(a、e、i、o、u,不区分大小写)的总个数。

输入示例: Hello World 

输出示例: 3 (e、o、o)

 

4. 计算闰年

 输入一个年份,判断该年是否为闰年。闰年规则:能被4整除但不能被100整除,或能被400整除。

输入示例: 2000 

输出示例: yes ;输入 1900 输出 no 

 

5. 杨辉三角的第n行

 输入一个正整数n(n≤20),输出杨辉三角的第n行(从第1行开始,每行数字用空格分隔)。

提示:第n行有n个数字,每个数字等于上方两数之和,边界为1。

输入示例: 4 

输出示例: 1 3 3 1 

 

6. 数字反转(含负号)

 输入一个整数(可正可负),将其数字反转后输出(保留负号,若反转后首位为0则去除)。

输入示例: -1230 

输出示例: -321 

 

7. 求数组中第二大的数

 输入n个互不相同的整数(n≥2),找出其中第二大的数。

输入示例: 6 10 5 8 1 3 7 

输出示例: 8 

 

8. 计算连续子数组的最大和

 输入n个整数(可正可负,n≤100),找出其中连续子数组(至少含一个元素)的最大和。

输入示例: 5 -1 2 3 -2 4 

输出示例: 7 (子数组:2,3,-2,4)

 

9. 判断回文数

 输入一个整数,判断它是否为回文数(正着读和倒着读一样,如12321)。若是输出 yes ,否则输出 no 。

输入示例: 123321 

输出示例: yes 

 

10. 统计区间内的素数个数

 输入两个正整数L和R(L≤R≤10000),统计区间[L, R]内素数的个数。

输入示例: 10 20 

输出示例: 4 (11、13、17、19)

 

 

这些题目在基础知识点上增加了逻辑复杂度,需要更细致的条件判断和流程设计,适合训练编程思维和代码实现能力。

  最后,祝大家在信奥赛中取得优异成绩。

  本期博客就到这里,我们下期再见!👋

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tezr123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值