吴凡的题库——快快编程801-1000
2022/4/18 9:12:30
本文主要是介绍吴凡的题库——快快编程801-1000,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
- 标题统计
题目描述 凯凯刚写了一篇美妙的作文,请问这篇作文的标题中有多少个字符? 注意:标题中可能包含大、小写英文字母、数字字符、空格和换行 符。统计标题 字 符数时,空格和换行符不计算在内
输入输出格式 输入格式 输入文件title.in 输入只有一行,包含若干个字符。这串字符串记作s。 输出格式 输出文件title.out 输出只有一行,包含一个整数,即作文标题的字符数(不含空格和换行符)
输入输出样例 输入样例#1: I Have a Dream 输出样例#1: 11 输入样例#2: Xi You Ji 输出样例#2: 7 输入样例#3: 输出样例#3:
#include<bits/stdc++.h> using namespace std; int main(){ freopen("title.in", "r", stdin); freopen("title.out", "w", stdout); char ch; int cnt; while(cin>>ch){ if (ch != ' ') cnt ++; } cout<<cnt<<endl; return 0; }
- 三的倍数
题目描述 输入一个正整数n,从小到大输出1到n里所有3的倍数。
输入输出格式 输入格式 输入只有一行,包含一个正整数n,3<=n<=10000 输出格式 输出只有一行,包含若干个正整数,由空格隔开。
输入输出样例 输入样例#1: 4 输出样例#1: 3 输入样例#2: 10 输出样例#2: 3 6 9 输入样例#3: 输出样例#3:
#include<iostream> using namespace std; int main(){ int i,n; cin>>n; for(i=3;i<=n;i+=3){ cout<<i<<" "; } return 0; }
- 僵尸猎手
题目描述 你是一个僵尸猎杀,攻击力为x。现在共有n个僵尸在你面前,其中第i头僵尸的防守力为d[i]。只有当你的攻击力超过某个僵尸的防守力 时,才能将其 消灭。请问你一共能消灭几头僵尸?
输入输出格式 输入格式 输入第一行为正整数n,n<=10000,第二行为n个非负整数代表d[i]数组,均不超过100. 第三行为一个正整数x,x<=100 输出格式 输出一个整数
输入输出样例 输入样例#1: 3 100 59 60 60 解释说明:攻击力60没有超过防御力100,攻击力60超过了防御力59,攻击力60没有超过防御力60。只有一个僵尸被消灭 输出样例#1: 1 输入样例#2: 6 1 2 3 5 4 3 3 输出样例#2: 2 输入样例#3: 输出样例#3:
#include<iostream> using namespace std; int main(){ int x,n,d[10005],cnt; cin>>n; for(int i = 0;i<n;i++){ cin>>d[i]; } cin>>x; cnt = 0; for(int i = 0;i < n;i ++){ if(x > d[i]){ cnt++; } } cout<<cnt; return 0; }
- 铺地砖
题目描述 你的新家正在装修铺地砖,客厅地面是个正方形,面积为正整数s平方米。现在你希望用1米乘1米的地砖来铺设,有时不一定能正正好好 凑齐的话多余 部分会被切割扔掉。请问应该买几块地砖?
输入输出格式 输入格式 输入一个正整数s,1<=s<=10000。 输出格式 输出一个正整数。
输入输出样例 输入样例#1: 25 输出样例#1: 25 输入样例#2: 10 输出样例#2: 16 输入样例#3: 200 输出样例#3: 225
#include<iostream> #include<cmath> using namespace std; int main(){ int n; cin>>n; cout<<ceil(sqrt(n))*ceil(sqrt(n))<<endl; return 0; }
- 计算地址
题目描述 给定一个顺序表的长度和起始地址,以及该顺序表的数据类型(只包括char,int两种类型)查询某个地址是该顺序表中的几号元素(0表示顺序表a的0 号元素,对应a[0])?如果地址不在顺序表的有效地址范围内,输出Error.
输入输出格式 输入格式 输入文件address.in 第一行为一个字符串,代表数据类型(只可能是char或int两种情况) 第二行,顺序表的长度n和起始地址addr,n<=100000, 0<addr<=2e9 第三行,一个查询地址q,0<q<=2e9 输出格式 输出文件address.out 输出查询地址对应线性表中元素的下标,如果不在有效地址范围内,输出Error
输入输出样例 输入样例#1: char 100 2000 2005 输出样例#1: 5 说明:char类型顺序表,起始地址2000,2005是顺序表5号元素即a[5]的地址。 输入样例#2: char 100 2000 1998 输出样例#2: Error 说明:查询地址不在有效地址范围内 输入样例#3: int 100 2000 2044 输出样例#3: 11 说明:每个int类型变量占4个字节。0号变量地址是2000,1号变量地址是2004,…,以此类推11号变量地址是2044。
#include<bits/stdc++.h> using namespace std; int main(){ freopen("address.in", "r", stdin); freopen("address.out", "w", stdout); string type; int n; int addr; int q; int nByte; cin>>type>>n>>addr>>q; if(type=="char") nByte=1; else nByte=4; int id = (q - addr) / nByte; if(id < 0 || id >= n) cout<<"Error"; else cout<<id; return 0; }
- 定时炸弹
题目描述 你在电影剧组里负责制作定时炸弹的道具。其中最关键的一步就是写一个程序完成倒数计时。输入一个正整数n,输出从n开始到0结束的 倒数数字序列 。
输入输出格式 输入格式 输入只有一个正整数n,n<=10000。 输出格式 输出一行包含n+1个数字
输入输出样例 输入样例#1: 2 输出样例#1: 2 1 0 输入样例#2: 10 输出样例#2: 10 9 8 7 6 5 4 3 2 1 0 输入样例#3: 输出样例#3:
#include<iostream> using namespace std; int main(){ int i,n; cin>>n; for(i=0;i<=n;i++){ cout<<n-i<<" "; } return 0; }
- a的b次方
题目描述 输入正整数a和b,输出a的b次方。 输入数据的范围: 1<=a<=10, 1<=b<=18
输入输出格式 输入格式 输入两个正整数a和b 输出格式 输出一个正整数
输入输出样例 输入样例#1: 2 10 输出样例#1: 1024 解释说明:10个2连乘,2*2*2*2*2*2*2*2*2*2=1024 输入样例#2: 10 18 输出样例#2: 1000000000000000000 输入样例#3: 输出样例#3:
#include<iostream> using namespace std; int main(){ int a,b,i; cin>>a>>b; unsigned long long result; result = 1; for(i = 1;i<=b;i++){ result *=a; } cout<<result; return 0; }
- 计算二叉树节点数
题目描述 计算一棵深度为k的二叉树最多有多少个节点,最少有多少个节点。
输入输出格式 输入格式 一个正整数k,1<=k<=64 输出格式 两个正整数,第一个数表示最多节点数,第二个数表示最少节点数,中间空格隔开
输入输出样例 输入样例#1: 5 输出样例#1: 31 5 输入样例#2: 输出样例#2: 输入样例#3: 输出样例#3:
#include<iostream> using namespace std; typedef unsigned long long ll; ll pow(ll n, ll x){ ll r=n; for(int i=1;i<x;i++) r*=n; return r; } int main(){ ll n; cin>>n; cout<<pow(2, n)-1<<" "<<n; return 0; }
- 二叉树高度
题目描述 一棵完全二叉树共有n个节点,求该二叉树的高度。
输入输出格式 输入格式 一个正整数n,1<=n<=2e9 输出格式 一个正整数,该二叉树的高度
输入输出样例 输入样例#1: 5 输出样例#1: 3 输入样例#2: 2019 输出样例#2: 11 输入样例#3: 输出样例#3:
#include<iostream> #include<cmath> using namespace std; int main(){ long long n, cnt=0; cin>>n; while(n!=0){ n>>=1; cnt++; } cout<<cnt; return 0; }
- 跳级
题目描述 小明共有n个年级要读,每一次他可以向上升1级,升2级或者升3级,请问共有多少种不同的升级方法。例如n=3时共有四种升级方法:可 以先升1级再升2级,或者先升2级再升1级,或者每次都升1级,或者直接升3级。请问共有多少种升级方法可以正好走完n级。
输入输出格式 输入格式 输入文件level.in 输入一个正整数n(n<=50) 输出格式 输出文件level.out 输出一个正整数。
输入输出样例 输入样例#1: 3 输出样例#1: 4 输入样例#2: 4 输出样例#2: 7 输入样例#3: 输出样例#3:
#include<bits/stdc++.h> using namespace std; int main(){ freopen("level.in", "r", stdin); freopen("level.out", "w", stdout); int level; long long k[52] = {0, 1, 2, 4}; cin>>level; for(int i=4; i<= level; i++){ k[i] = k[i-1] + k[i-2] + k[i-3]; } cout<<k[level]; return 0; }
- 排序
题目描述 有n个整数,请从小到大排序后输出。
输入输出格式 输入格式 输入文件sort.in 输入第一行为正整数n, n<=500000。第二行共n个整数,均不超过100000,由空格隔开。 输出格式 输出文件sort.out 输出一行共n个数,由空格隔开。
输入输出样例 输入样例#1: 3 2 3 1 输出样例#1: 1 2 3 输入样例#2: 输出样例#2: 输入样例#3: 输出样例#3:
#include<bits/stdc++.h> using namespace std; int main(){ freopen("sort.in", "r", stdin); freopen("sort.out", "w", stdout); int n,a[500001]; cin>>n; for(int i=0;i<n;i++) cin>>a[i]; sort(a, a+n); for(int i=0;i<n;i++) cout<<a[i]<<" "; return 0; }
- 身份证
题目描述 输入一个人的姓名和该人的身份证号,请识别出该人的出生年份。 小常识:每个人的出生日期会出现在身份证号中的特定位置
输入输出格式 输入格式 输入文件identification.in 输入第一行是一个字符串,代表姓名 第二行为一个字符串,代表身份证号,长度为18位。 输出格式 输出文件identification.out 输出只有一行,描述该人的出生年份。
输入输出样例 输入样例#1: Peter Wang 310111199901018976 输出样例#1: Peter Wang was born in 1999. 输入样例#2: Jerry 110101200402291234 输出样例#2: Jerry was born in 2004. 输入样例#3: 输出样例#3:
#include<bits/stdc++.h> using namespace std; int main(){ freopen("identification.in", "r", stdin); freopen("identification.out", "w", stdout); string s, id; getline(cin, s); getline(cin, id); id.erase(0, 6); id.erase(4); cout<<s + " was born in " + id + "."; return 0; }
- 单词替换1
题目描述 输入一个字符串,以回车结束(字符串长度<=100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现 需要将其中的 某个单词替换成另一个单词,并输出替换之后的字符串。
输入输出格式 输入格式 输入包括3行,第1行是包含多个单词的字符串 s;第2行是待替换的单词a(长度 <= 100); 第3行是a将被替换的单词b(长度 <= 100). s, a, b 最前面和最后面都没有空格. 输出格式 输出只有 1 行,将s中第一次出现的单词a替换成b,若没有找到a就输出原字符串。
输入输出样例 输入样例#1: ha ha ha ha wa 输出样例#1: wa ha ha 输入样例#2: A pineapple is not an apple apple orange 输出样例#2: A pineapple is not an orange 输入样例#3: abc xyz ab xy 输出样例#3: abc xyz
#include<iostream> using namespace std; string s, m, d; int main(){ getline(cin, s); getline(cin, m); getline(cin, d); string t = ' ' + s + ' '; int p = t.find(' ' + m + ' '); if(p<0) cout<<s; else{ s.erase(p, m.size()); s.insert(p, d); cout<<s; } return 0; }
这篇关于吴凡的题库——快快编程801-1000的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-01为什么公共事业机构会偏爱 TiDB :TiDB 数据库在某省妇幼健康管理系统的应用
- 2024-04-26敏捷开发:想要快速交付就必须舍弃产品质量?
- 2024-04-26静态代码分析的这些好处,我竟然都不知道?
- 2024-04-26你在测试金字塔的哪一层?(下)
- 2024-04-26快刀斩乱麻,DevOps让代码评审也自动起来
- 2024-04-262024年最好用的10款ER图神器!
- 2024-04-2203-为啥大模型LLM还没能完全替代你?
- 2024-04-2101-大语言模型发展
- 2024-04-17基于SpringWeb MultipartFile文件上传、下载功能
- 2024-04-14个人开发者,Spring Boot 项目如何部署