CPP2022-11-数组01
7-1 查找整数
分数 10
全屏浏览题目
切换布局
作者 杨起帆
单位 浙大城市学院
本题要求从输入的N个整数中查找给定的X。如果找到,输出X的位置(从0开始数);如果没有找到,输出“Not Found”。
输入格式:
输入在第一行中给出两个正整数N(≤20)和X,第二行给出N个整数。数字均不超过长整型,其间以空格分隔。
输出格式:
在一行中输出X的位置,或者“Not Found”。
输入样例1:
5 7
3 5 7 1 9
输出样例1:
2
输入样例2:
5 7
3 5 8 1 9
输出样例2:
Not Found
#include<bits/stdc++.h>
using namespace std;
int main()
{int a[20];int n,x;cin>>n>>x;for(int i=0;i<n;i++){cin>>a[i];if(a[i]==x){cout<<i;return 0;}}cout<<"Not Found"<<endl;return 0;
}
7-2 将数组中的数逆序存放
分数 10
全屏浏览题目
切换布局
作者 C课程组
单位 浙江大学
本题要求编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放,再按顺序输出数组中的元素。
输入格式:
输入在第一行中给出一个正整数n(1≤n≤10)。第二行输入n个整数,用空格分开。
输出格式:
在一行中输出这n个整数的处理结果,相邻数字中间用一个空格分开,行末不得有多余空格。
输入样例:
4
10 8 1 2
输出样例:
2 1 8 10
#include<bits/stdc++.h>
using namespace std;
int main()
{int a[10];int n;cin>>n;for(int i=0;i<n;i++){cin>>a[i];}for(int i=n-1;i>=0;i--){cout<<a[i];if(i>0){cout<<" ";}}return 0;
}
7-3 交换最小值和最大值
分数 10
全屏浏览题目
切换布局
作者 C课程组
单位 浙江大学
本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。
注意:题目保证最大和最小值都是唯一的。
输入格式:
输入在第一行中给出一个正整数N(≤10),第二行给出N个整数,数字间以空格分隔。
输出格式:
在一行中顺序输出交换后的序列,每个整数后跟一个空格。
输入样例:
5
8 2 5 1 4
输出样例:
1 2 5 4 8
#include<bits/stdc++.h>
using namespace std;
int main()
{int n,only;int a[10];cin>>n;if(n==1){cin>>only;cout<<only<<" ";return 0;}int max=0;int min=1;for(int i=0;i<n;i++){cin>>a[i];if(a[min]>a[i]){min=i;}else if(a[max]<a[i]){max=i;}}if(min==n-1&&max==0){swap(a[0],a[n-1]);}if(max==0&&min!=n-1){swap(a[max],a[n-1]);swap(a[min],a[0]);}else if(min==n-1&&max!=0){swap(a[0],a[n-1]);swap(a[max],a[n-1]);}else{swap(a[max],a[n-1]);swap(a[min],a[0]);}for(int i=0;i<n;i++){cout<<a[i];if(i<n){cout<<" ";}}return 0;
}
7-4 输出数组元素
分数 10
全屏浏览题目
切换布局
作者 颜晖
单位 浙江大学
本题要求编写程序,对顺序读入的n个整数,顺次计算后项减前项之差,并按每行三个元素的格式输出结果。
输入格式:
输入的第一行给出正整数n(1<n≤10)。随后一行给出n个整数,其间以空格分隔。
输出格式:
顺次计算后项减前项之差,并按每行三个元素的格式输出结果。数字间空一格,行末不得有多余空格。
输入样例:
10
5 1 7 14 6 36 4 28 50 100
输出样例:
-4 6 7
-8 30 -32
24 22 50
#include<bits/stdc++.h>
using namespace std;
int main()
{int n;int a[20];cin>>n;for(int i=0;i<n;i++){cin>>a[i];}for(int i=1;i<n;i++){a[i-1]=a[i]-a[i-1];} for(int i=0;i<n-1;i++){cout<<a[i];if((i+1)%3!=0&&i!=n-2){cout<<" ";}if((i+1)%3==0){cout<<endl;}}return 0;
}
7-5 求整数序列中出现次数最多的数
分数 10
全屏浏览题目
切换布局
作者 张彤彧
单位 浙江大学
本题要求统计一个整型序列中出现次数最多的整数及其出现次数。
输入格式:
输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数。数字间以空格分隔。
输出格式:
在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。
输入样例:
10 3 2 -1 5 3 4 3 0 3 2
输出样例:
3 4
#include<bits/stdc++.h>
using namespace std;
int main()
{int n,f;int a[1000],time[1000]={0};int i,j;cin>>n;if(n==1){cin>>f;cout<<f<<" "<<n;return 0;}for(int i=0;i<n;i++){cin>>a[i];}for(int i=1;i<=n;i++){int number=0;for(int j=0;j<n;j++){if(a[i]==a[j]){number++;}}time[i]=number;}int max_time=0;int max_a=0;for(int i=0;i<n;i++){if(time[max_time]<time[i]){time[max_time]=time[i];a[max_a]=a[i];}}cout<<a[max_a]<<" "<<time[max_time]<<endl;return 0;
}
7-6 求矩阵的局部极大值
分数 10
全屏浏览题目
切换布局
作者 徐镜春
单位 浙江大学
给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵的局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。
输入格式:
输入在第一行中给出矩阵A的行数M和列数N(3≤M,N≤20);最后M行,每行给出A在该行的N个元素的值。数字间以空格分隔。
输出格式:
每行按照“元素值 行号 列号”的格式输出一个局部极大值,其中行、列编号从1开始。要求按照行号递增输出;若同行有超过1个局部极大值,则该行按列号递增输出。若没有局部极大值,则输出“None 总行数 总列数”。
输入样例1:
4 5
1 1 1 1 1
1 3 9 3 1
1 5 3 5 1
1 1 1 1 1
输出样例1:
9 2 3
5 3 2
5 3 4
输入样例2:
3 5
1 1 1 1 1
9 3 9 9 1
1 5 3 5 1
输出样例2:
None 3 5
#include<bits/stdc++.h>
using namespace std;
int main()
{int flag=0;int m,n;int i,j;cin>>m>>n;int a[21][21];for(int i=1;i<=m;i++){for(int j=1;j<=n;j++){cin>>a[i][j];}}for(int i=2;i<m;i++){for(int j=2;j<n;j++){ if(a[i][j]>a[i-1][j]&&a[i][j]>a[i+1][j]&&a[i][j]>a[i][j-1]&&a[i][j]>a[i][j+1]){cout<<a[i][j]<<" "<<i<<" "<<j<<endl;flag=1;}}}if(flag==0){cout<<"None "<<m<<" "<<n<<endl;}return 0;
}
7-7 求矩阵各行元素之和
分数 10
全屏浏览题目
切换布局
作者 C课程组
单位 浙江大学
本题要求编写程序,求一个给定的m×n矩阵各行元素之和。
输入格式:
输入第一行给出两个正整数m和n(1≤m,n≤6)。随后m行,每行给出n个整数,其间
以空格分隔。
输出格式:
每行输出对应矩阵行元素之和。
输入样例:
3 2
6 3
1 -8
3 12
输出样例:
9
-7
15
#include<bits/stdc++.h>
using namespace std;
int main()
{int m,n;cin>>m>>n;int a[20][20];for(int i=1;i<=m;i++){for(int j=1;j<=n;j++){cin>>a[i][j];}}for(int i=1;i<=m;i++){int sum=0;for(int j=1;j<=n;j++){sum=sum+a[i][j];}cout<<sum<<endl;}return 0;
}
7-8 计算天数
分数 10
全屏浏览题目
切换布局
作者 沈睿
单位 浙江大学
本题要求编写程序计算某年某月某日是该年中的第几天。
输入格式:
输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。
输出格式:
在一行输出日期是该年中的第几天。
输入样例1:
2009/03/02
输出样例1:
61
输入样例2:
2000/03/02
输出样例2:
62
#include<bits/stdc++.h>
using namespace std;
int main()
{int sum=0;int m[]={0,31,28,31,30,31,30,31,31,30,31,30,31};int year,month,day;cin>>year;getchar();cin>>month;getchar();cin>>day;if((year%4==0&&year%100!=0)||year%400==0){for(int i=1;i<month;i++){sum=sum+m[i];}if(month>2){sum=sum+day+1;}else{sum=sum+day;}}else{for(int i=1;i<month;i++){sum=sum+m[i];}sum=sum+day;}cout<<sum<<endl;return 0;
}
7-9 求一批整数中出现最多的个位数字
分数 10
全屏浏览题目
切换布局
作者 徐镜春
单位 浙江大学
给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。
输入格式:
输入在第1行中给出正整数N(≤1000),在第二行中给出N个不超过整型范围的非负整数,数字间以空格分隔。
输出格式:
在一行中按格式“M: n1 n2 ...”输出,其中M是最大次数,n1、n2、……为出现次数最多的个位数字,按从小到大的顺序排列。数字间以空格分隔,但末尾不得有多余空格。
输入样例:
3
1234 2345 3456
输出样例:
3: 3 4
#include<bits/stdc++.h>
using namespace std;
int main()
{int num[10]={0}, n, max = 0, i;char number;cin>>n;cin.get();while ((number = getchar()) != '\n'){if (number == ' ')continue;num[number-'0']++;}for (i = 0; i < 10; i++){if (num[i] > max){max = num[i];}}cout<<max<<":";for (i = 0; i < 10; i++){if (max == num[i])cout<<setw(2)<<i;}return 0;
}
7-10 找出不是两个数组共有的元素
分数 10
全屏浏览题目
切换布局
作者 张彤彧
单位 浙江大学
给定两个整型数组,本题要求找出不是两者共有的元素。
输入格式:
输入分别在两行中给出两个整型数组,每行先给出正整数N(≤20),随后是N个整数,其间以空格分隔。
输出格式:
在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不得有多余的空格。题目保证至少存在一个这样的数字。同一数字不重复输出。
输入样例:
10 3 -5 2 8 0 3 5 -15 9 100
11 6 4 8 2 6 -5 9 0 100 8 1
输出样例:
3 5 -15 6 4 1
#include<bits/stdc++.h>
using namespace std;
int main()
{int n1,n2,i,j,k=0;int arr1[20],arr2[20],arr3[20];cin>>n1;for(i=0;i<n1;i++){cin>>arr1[i];}cin>>n2;for(i=0;i<n2;i++){cin>>arr2[i];}for(i=0;i<n1;i++){for(j=0;j<n2;j++){if(arr1[i]==arr2[j]){break;}}if(j>=n2){arr3[k]=arr1[i];k++;}}for(i=0;i<n2;i++){for(j=0;j<n1;j++){if(arr2[i]==arr1[j]){break;}}if(j>=n1){arr3[k]=arr2[i];k++;}}cout<<arr3[0];for(i=1;i<k;i++){for(j=0;j<i;j++){if(arr3[i]==arr3[j]){break;}}if(j>=i){cout<<" "<<arr3[i];}}return 0;
}
#include<iostream>
using namespace std;int main()
{int a[21],b[21],c[21],d[42];int n,m;cin>>n;for(int i=0; i<=n-1; i++) cin>>a[i];cin>>m;for(int i=0; i<=m-1; i++) cin>>b[i];for(int i=0; i<=m-1; i++) c[i]=0;int index=0;for(int i=0; i<=n-1; i++){int flag = 0;for(int j=0; j<=m-1; j++){if (a[i] == b[j]){c[j] = 1;flag = 1;}}if(flag == 0) {if (index ==0) d[index++] = a[i];else {int rep = 0;for (int k=0; k<=index-1; k++){if (a[i] == d[k]) {rep = 1; break;} }if (rep==0) d[index++]=a[i];} }}for(int j=0;j<=m-1;j++){if (c[j]==1) continue;int flag = 0;for (int i = 0; i<=n-1; i++)if (b[j] == a[i]) {flag = 1; break;}if(flag == 0) {if (index ==0) d[index++] = b[j];else {int rep = 0;for (int k=0; k<=index-1; k++){if (b[j] == d[k]) {rep = 1; break;} }if (rep==0) d[index++]=b[j];} }}for(int i=0; i<=index-1; i++){if (i>0) cout<<' ';cout<<d[i];}return 0;
}
CPP2022-11-数组01相关推荐
- 信息学奥赛一本通 1267:【例9.11】01背包问题
[题目链接] ybt 1267:[例9.11]01背包问题 [题目考点] 1. 动态规划:背包问题 01背包问题 [解题思路] 01背包模板题 解法1:背包型动态规划 1. 状态定义 集合:将n件物品 ...
- 1267:【例9.11】01背包问题
1267:[例9.11]01背包问题 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 25333 通过数: 15193 [题目描述] 一个旅行者有一个最多能 ...
- 信息学奥赛一本通1267:【例9.11】01背包问题(二维dp与滚动数组优化)
[题目描述] 一个旅行者有一个最多能装 MM 公斤的背包,现在有 nn 件物品,它们的重量分别是W1,W2,...,WnW1,W2,...,Wn,它们的价值分别为C1,C2,...,CnC1,C2,. ...
- 多维数组的索引与切片_「GCTT 出品」Go 系列教程——11. 数组和切片
Go语言中文网,致力于每日分享编码知识,欢迎关注我,会有意想不到的收获! Go 系列教程是非常棒的一套初学者教程,入门就它了. 「GCTT 出品」Go 系列教程--1. 介绍与安装 「GCTT 出品」 ...
- 2020年11月01日
2020年11月1日学习记录 139.单词拆分 解题思路: 1.开辟长度为s.length+1的数组空间,规定第0个元素为true. 2.采用动态规划求解 将要判断的字符串分成两部分,第一部分可以根据 ...
- java 数组练习题,Java练习题 - 数组01
第一题:需求实现 模拟大乐透号码: 一组大乐透号码由10个1-99之间的数字组成 定义方法,打印大乐透号码信息 代码实现,效果如图所示: 开发提示: 使用数组保存录入的号码 参考答案: public ...
- 2017年11月01日普及组 I Like Matrix!
Description 给定 k 种移动方式:从 (i,j) 移动到 (i + xk ,j + yk )(xk ,yk > 0).询问在一个 n ∗ m 的矩阵中,从 (1,1) 出发,可以到达 ...
- javascript学习系列(11):数组中的findIndex方法
最好的种树是十年前,其次是现在.歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的 ...
- OpenCL 学习step by step (11) 数组求和(reduction)
本篇教程中,我们学习一下如何用opencl有效实现数组求和,也就是通常所说的reduction问题. 在程序中,我们设置workgroup size为256,kernel的输入.输出缓冲参数都用uin ...
- NOI / 1.6编程基础之一维数组01:与指定数字相同的数的个数
题目: 输出一个整数序列中与指定数字相同的数的个数. http://noi.openjudge.cn/ch0106/01/ 解题思路: int一个列表,从0到105. int n. 重复输入列表中的数 ...
最新文章
- windbg设断点命令详解(bp, bu, bm, ba 以及bl, bc, bd, be)
- Selenium之定位元素常用的8种方法整理(第一篇)
- springboot发送http请求
- [概统]本科二年级 概率论与数理统计 第五讲 二元随机变量
- Cibersort免疫浸润的在线分析及R语言代码实现
- C# 自定义类型转换
- 用Grafana为Elasticsearch做日志分析
- matlab偶极矩电场强度分布图_课程设计用MATLAB模拟偶极子的电场分布.doc
- OpenCV:使用python-cv2实现Harr+Adaboost人脸识别
- MySQL触发器自动更新memcache[转]
- python mro算法_Python MRO C3算法实现
- 常用的pcb设计软件有哪些
- Hog特征、Haar特征
- Android开发_ARN是什么
- 欢迎使用CSD 第三方士大夫胜多负少的N-markdown编辑器
- 华为、字节跳动、蔚来、康师傅、法雷奥、AIG等公司高管变动
- SIGIR2022 | 基于Prompt的用户自选公平性推荐算法
- 如何监控工程项目进度?
- 墨画子卿第三章第9节:是一个人
- 财会法规与职业道德【4】