ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

吴凡的题库——快快编程801-1000

2022-04-18 09:01:54  阅读:491  来源: 互联网

标签:输出 int 输入输出 样例 格式 题库 801 输入 吴凡


  1. 标题统计
题目描述
凯凯刚写了一篇美妙的作文,请问这篇作文的标题中有多少个字符? 注意:标题中可能包含大、小写英文字母、数字字符、空格和换行 符。统计标题 字 符数时,空格和换行符不计算在内
输入输出格式
输入格式
输入文件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;
}
  1. 三的倍数
题目描述
输入一个正整数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;
}
  1. 僵尸猎手
题目描述
你是一个僵尸猎杀,攻击力为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; 
} 
  1. 铺地砖
题目描述
你的新家正在装修铺地砖,客厅地面是个正方形,面积为正整数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;
}
  1. 计算地址
题目描述
给定一个顺序表的长度和起始地址,以及该顺序表的数据类型(只包括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;
}
  1. 定时炸弹
题目描述
你在电影剧组里负责制作定时炸弹的道具。其中最关键的一步就是写一个程序完成倒数计时。输入一个正整数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;
}
  1. 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;
}
  1. 计算二叉树节点数
题目描述
计算一棵深度为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;
}
  1. 二叉树高度
题目描述
一棵完全二叉树共有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;
}
  1. 跳级
题目描述
小明共有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;
}
  1. 排序
题目描述
有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;
}
  1. 身份证
题目描述
输入一个人的姓名和该人的身份证号,请识别出该人的出生年份。
小常识:每个人的出生日期会出现在身份证号中的特定位置
输入输出格式
输入格式
输入文件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. 单词替换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;
}

标签:输出,int,输入输出,样例,格式,题库,801,输入,吴凡
来源: https://www.cnblogs.com/WindowsRegedit/p/16125096.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有