《算法笔记》3.2小节——入门模拟-查找元素
前言
练习题链接:http://codeup.cn/contest.php?cid=100000576
正文
问题 A: 统计同成绩学生人数
题目描述
读入N名学生的成绩,将获得某一给定分数的学生人数输出。
输入
测试输入包含若干测试用例,每个测试用例的格式为
第1行:N
第2行:N名学生的成绩,相邻两数字用一个空格间隔。
第3行:给定分数
当读到N=0时输入结束。其中N不超过1000,成绩分数为(包含)0到100之间的一个整数。
输出
对每个测试用例,将获得给定分数的学生人数输出。
样例输入
4
70 80 90 100
80
3
65 75 85
55
5
60 90 90 90 85
90
0
样例输出
1
0
3
题解:
#include<cstdio>
#include<cstring>
#include<cmath>int main(){int N,stu[1000],grade;while(scanf("%d",&N)&&N){for(int i=0;i<N;i++){scanf("%d",&stu[i]);}scanf("%d",&grade);int count=0;for(int i=0;i<N;i++){if(stu[i]==grade)count++;} printf("%d\n",count);}return 0;
}
/**************************************************************Problem: 1932User: 2516085027Language: C++Result: 正确Time:0 msMemory:1116 kb
****************************************************************/
问题 B: 找x
题目描述
输入一个数n,然后输入n个数值各不相同,再输入一个值x,输出这个值在这个数组中的下标(从0开始,若不在数组中则输出-1)。
输入
测试数据有多组,输入n(1<=n<=200),接着输入n个数,然后输入x。
输出
对于每组输入,请输出结果。
样例输入
4
1 2 3 4
3
样例输出
2
题解:
#include<cstdio>
#include<cstring>
#include<cmath>
int main(){int n,a[222],b,flag;while(scanf("%d",&n)!=EOF){for(int i=0;i<n;i++){scanf("%d",&a[i]);}scanf("%d",&b);for(int i=0;i<n;i++){if(a[i]==b){flag=i;break;}else{flag=-1;}}printf("%d\n",flag);}return 0;
}
/**************************************************************Problem: 1934User: 2516085027Language: C++Result: 正确Time:0 msMemory:1116 kb
****************************************************************/
问题 C: 查找学生信息
题目描述
输入N个学生的信息,然后进行查询。
输入
输入的第一行为N,即学生的个数(N<=1000)
接下来的N行包括N个学生的信息,信息格式如下:
01 李江 男 21
02 刘唐 男 23
03 张军 男 19
04 王娜 女 19
然后输入一个M(M<=10000),接下来会有M行,代表M次查询,每行输入一个学号,格式如下:
02
03
01
04
输出
输出M行,每行包括一个对应于查询的学生的信息。
如果没有对应的学生信息,则输出“No Answer!”
样例输入
5
001 张三 男 19
002 李四 男 20
003 王五 男 18
004 赵六 女 17
005 刘七 女 21
7
003
002
005
004
003
001
006
样例输出
003 王五 男 18
002 李四 男 20
005 刘七 女 21
004 赵六 女 17
003 王五 男 18
001 张三 男 19
No Answer!
题解:
#include<cstdio>
#include<cstring>
#include<cmath>
struct stu{char num[100];char name[100];char sex[100];int age;
}s[1000];
int main(){int N,M;char sNum[10];while(scanf("%d",&N)!=EOF){for(int i=0;i<N;i++){scanf("%s%s%s%d",s[i].num,s[i].name,s[i].sex,&s[i].age);}scanf("%d",&M);for(int i=0;i<M;i++){scanf("%s",sNum);int j;for(j=0;j<N;j++){if(!strcmp(sNum,s[j].num)){printf("%s %s %s %d\n",s[j].num,s[j].name,s[j].sex,s[j].age);break;}}if(j==N)printf("No Answer!\n");}}return 0;
}
/**************************************************************Problem: 1935User: 2516085027Language: C++Result: 正确Time:20 msMemory:1412 kb
****************************************************************/
问题 D: 查找
题目描述
输入数组长度 n
输入数组 a[1…n]
输入查找个数m
输入查找数字b[1…m]
输出 YES or NO 查找有则YES 否则NO 。
输入
输入有多组数据。
每组输入n,然后输入n个整数,再输入m,然后再输入m个整数(1<=m<=n<=100)。
输出
如果在n个数组中输出YES否则输出NO。
样例输入
6
3 2 5 4 7 8
2
3 6
样例输出
YES
NO
题解:
#include<cstdio>
#include<cstring>
#include<cmath>int main(){int n,m,a[110],b[110];while(scanf("%d",&n)!=EOF){for(int i=0;i<n;i++){scanf("%d",&a[i]);}scanf("%d",&m);for(int i=0;i<m;i++){scanf("%d",&b[i]);}for(int i=0;i<m;i++){int j;for(j=0;j<n;j++){if(b[i]==a[j]){printf("YES\n");break;}}if(j==n)printf("NO\n");}}return 0;
}
/**************************************************************Problem: 1937User: 2516085027Language: C++Result: 正确Time:0 msMemory:1116 kb
****************************************************************/
问题 E: 学生查询
题目描述
输入n个学生的信息,每行包括学号、姓名、性别和年龄,每一个属性使用空格分开。最后再输入一学号,将该学号对应的学生信息输出。
输入
测试数据有多组,第一行为样例数m。对于每个样例,第一行为学生人数n(n不超过20),加下来n行每行4个整数分别表示学号、姓名、性别和年龄,最后一行表示查询的学号。
输出
输出m行,每行表示查询的学生信息,格式参见样例。
样例输入
1
4
1 李江 男 21
2 刘唐 男 23
3 张军 男 19
4 王娜 女 19
2
样例输出
2 刘唐 男 23
题解:
#include<cstdio>
#include<cstring>
#include<cmath>
struct stu{int num;char name[10];char sex[10];int age;
}s[20];
int main(){int n,m,sNum;while(scanf("%d",&m)!=EOF){for(int i=0;i<m;i++){scanf("%d",&n);for(int j=0;j<n;j++){scanf("%d%s%s%d",&s[j].num,s[j].name,s[j].sex,&s[j].age);}scanf("%d",&sNum);int k;for(k=0;k<n;k++){if(sNum==s[k].num){printf("%d %s %s %d\n",s[k].num,s[k].name,s[k].sex,s[k].age);break;}}}}return 0;
}
/**************************************************************Problem: 2020User: 2516085027Language: C++Result: 正确Time:0 msMemory:1116 kb
****************************************************************/
后记
明天还得顶着烈日去练车呀,早早考完驾照就回家算了
《算法笔记》3.2小节——入门模拟-查找元素相关推荐
- javascript进制转换_《算法笔记》3.5小节——入门模拟-gt;进制转换
@[TOC] # Contest100000579 - <算法笔记>3.5小节--入门模拟->进制转换 ## 例题 ### PATB1022 PTA | 程序设计类实验辅助教学平台 ...
- php打印n乘n沙漏形状图形,《算法笔记》3.3小节——入门模拟-图形输出
@[TOC] Contest100000577 - <算法笔记>3.3小节--入门模拟->图形输出 1933 Problem A 输出梯形 #include #include #in ...
- 算法笔记习题 2-9小节
算法笔记@Ada_Lake 算法笔记代码保留地~~~ 2.9小节--C/C++快速入门->补充 有关cin 和 cout cout 中控制 double型 的精确度 - 1. 加入#includ ...
- 算法笔记习题 7-1小节
算法笔记@Ada_Lake 算法笔记代码保留地~~~ 7.1小节--提高篇->数据结构专题->栈的应用 首先讲了一下栈的定义.即栈就通俗而言即先进先出.每个栈都有一个栈顶指针来指向栈的最上 ...
- 《算法笔记》3.6小节——入门模拟->字符串处理 问题 B: 首字母大写
题目描述 对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母. 在字符串中,单词之间通过空白符分隔,空白符包括:空格(' ').制表符('\t').回车符('\r') ...
- 《算法笔记》3.5小节——入门模拟->进制转换 问题 D: 八进制
问题 D: 八进制 时间限制 : 1.000 sec 内存限制 : 32 MB 题目描述 输入一个整数,将其转换成八进制数输出. 输入 输入包括一个整数N(0<=N<=100000). 输 ...
- Codeup《算法笔记》3.4小节——入门模拟->日期处理
问题 A: 日期差值 [命题人 : 外部导入] 时间限制 : 1.000 sec 内存限制 : 32 MB 题目描述 有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天 ...
- 【算法笔记5.6小节 -大整数运算 】问题 C: 浮点数加法
题目描述 求2个浮点数相加的和 题目中输入输出中出现浮点数都有如下的形式: P1P2...Pi.Q1Q2...Qj 对于整数部分,P1P2...Pi是一个非负整数 对于小数部分,Qj不等于0 输入 对 ...
- 算法笔记04--分治法之寻找最大最小元素
顾名思义,"分治"名字本身就已经给出了一种强有力的算法设计技术,它可以用来解决各类问题.在它最简单的形式里,一个分治算法把问题实例划分成若干子实例(多数情况是分成两个),并分别递归 ...
- codeup墓地目录(算法笔记习题刷题笔记)
在线codeup contest 地址:http://codeup.cn/contest.php Contest100000575 - <算法笔记>3.1小节--入门模拟->简单模拟 ...
最新文章
- UVA1103分区涂色+vc使用注意事项
- MongoDB基本概念学习 - 文档
- oracle access manager token,Laravel 自带的 API 守卫驱动 token 使用详解
- C#图解教程 第十二章 数组
- [Redux/Mobx] 你有了解Rxjs是什么吗?它是做什么的?
- 在C#中使用C++编写的类
- (二)为AI模型训练准备影像
- 基于JAVA+SpringMVC+Mybatis+MYSQL的课堂考勤系统
- Python+pandas处理Excel文件中的超市营业额数据
- mac 黑窗口连接mysql_mac系统下mysql环境变量设置及远程连接
- 社区内放自助打印机,赚钱吗?
- flutter安装教程(win7)
- 视频会议受追捧,省钱又节能
- 【Git/Github学习笔记】Git常用命令(推送到远程)
- socket与http的区别
- c语言上机题库及答案,全国计算机二级C语言上机题库及答案
- Tomcat8安装与配置
- vue-transition多元素过渡
- 突然讨厌做前端,讨厌代码_如何安全清洁讨厌的游戏控制器
- 在线观看视频--使用代码倍速播放
热门文章
- 如何写好招聘文案,附“LINKIST‘期权征奇才’”
- 微信jssdk分享朋友圈自定义图片标题功能的react前端实现
- 【Crypto】Mac OS python3安装Crypto后,找不到模块No module named ‘Crypto‘与解决
- VL6 多功能数据处理器
- 我国汽车市场营销研究创新
- 强大的视频编辑软件会声会影 2024最新功能介绍解析
- svn cleanup时候产生tmp文件并提示Locked
- 要快速收录域名怎么做?
- 【转】学习ARM为什么首选IMAX6??
- 增强图形适配器(Enhanced Graphics Adapter 或 EGA)是 IBM PC 计算机显示标准定义,在显示性能方面(颜色和解析度)介于 CGA 和 VGA 之间。