admin 管理员组文章数量: 1086019
2024年4月30日发(作者:mvc模式主要包含)
青少年软件编程(C语言)等级考试试卷(三级)
一、编程题(共5题,共100分)
1. 我家的门牌号
我家的门牌号
我家住在一条短胡同里,这条胡同的门牌号从1开始顺序编号。
若所有的门牌号之和减去我家门牌号的两倍,恰好等于n,求我家的门牌号及总共有多少家。
数据保证有唯一解。
时间限制:1000
内存限制:65536
输入
一个正整数n。n < 100000。
输出
一行,包含两个正整数,分别是我家的门牌号及总共有多少家,中间用单个空格隔开。
样例输入
100
样例输出
10 15
试题编号:20211205_3_01
试题类型:编程题
试题难度:一般
试题解析:
#include
using namespace std;
int plass(int n)
{
return (1 + n) * n / 2;
}
int main()
{
int n;
int sum, my;
cin >> n;
for(sum = 1; sum > 0; sum ++ )
{
for(my = 1; my <= sum; my ++ )
{
if(plass(sum) - (2 * my) == n)
{
cout << my << " " << sum;
return 0;
}
}
}
}
2. 子串计算
子串计算
给出一个只包含0和1的字符串(长度在1到100之间),求其每一个子串出现的次数。
时间限制:1000
内存限制:65536
输入
一行,一个01字符串。
输出
对所有出现次数在1次以上的子串,输出该子串及出现次数,中间用单个空格隔开。按子串的字典序
从小到大依次输出,每行一个。
样例输入
10101
样例输出
0 2
01 2
1 3
10 2
101 2
试题编号:20211205_3_02
试题类型:编程题
试题难度:一般
试题解析:
#include
#include
using namespace std;
char a[105],s[101];
void dfs(int n)
{
int h=0;
for(int i=0;i<=strlen(a)-n;i++)
{
int f=1;
for(int j=0;j { if(a[i+j]!=s[j]) { f=0; break; } } h+=f; } if(h<=1) return; for(int i=0;i { cout< } cout<<' '< s[n]='0'; dfs(n+1); s[n]='1'; dfs(n+1); } int main() { cin>>a; s[0]='0'; dfs(1); s[0]='1'; dfs(1); } 3. 吃糖果 吃糖果 名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名(盒内共有 N 块巧克力,20 > N >0)。妈妈告诉名名每天可以吃一块或者两块巧克力。假设名名每天都吃巧克力,问名名共有多少 种不同的吃完巧克力的方案。例如:如果N=1,则名名第1天就吃掉它,共有1种方案;如果N=2, 则名名可以第1天吃1块,第2天吃1块,也可以第1天吃2块,共有2种方案;如果N=3,则名名 第1天可以吃1块,剩2块,也可以第1天吃2块剩1块,所以名名共有2+1=3种方案;如果N=4, 则名名可以第1天吃1块,剩3块,也可以第1天吃2块,剩2块,共有3+2=5种方案。现在给定N, 请你写程序求出名名吃巧克力的方案数目。 时间限制:1000 内存限制:65536 输入 输入只有1行,即整数N。 输出 输出只有1行,即名名吃巧克力的方案数。 样例输入 4
版权声明:本文标题:中国电子学会青少年等级考试C++编程3级 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1714468171a681493.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论