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相关推荐

  1. 信息学奥赛一本通 1267:【例9.11】01背包问题

    [题目链接] ybt 1267:[例9.11]01背包问题 [题目考点] 1. 动态规划:背包问题 01背包问题 [解题思路] 01背包模板题 解法1:背包型动态规划 1. 状态定义 集合:将n件物品 ...

  2. 1267:【例9.11】01背包问题

    1267:[例9.11]01背包问题 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 25333     通过数: 15193 [题目描述] 一个旅行者有一个最多能 ...

  3. 信息学奥赛一本通1267:【例9.11】01背包问题(二维dp与滚动数组优化)

    [题目描述] 一个旅行者有一个最多能装 MM 公斤的背包,现在有 nn 件物品,它们的重量分别是W1,W2,...,WnW1,W2,...,Wn,它们的价值分别为C1,C2,...,CnC1,C2,. ...

  4. 多维数组的索引与切片_「GCTT 出品」Go 系列教程——11. 数组和切片

    Go语言中文网,致力于每日分享编码知识,欢迎关注我,会有意想不到的收获! Go 系列教程是非常棒的一套初学者教程,入门就它了. 「GCTT 出品」Go 系列教程--1. 介绍与安装 「GCTT 出品」 ...

  5. 2020年11月01日

    2020年11月1日学习记录 139.单词拆分 解题思路: 1.开辟长度为s.length+1的数组空间,规定第0个元素为true. 2.采用动态规划求解 将要判断的字符串分成两部分,第一部分可以根据 ...

  6. java 数组练习题,Java练习题 - 数组01

    第一题:需求实现 模拟大乐透号码: 一组大乐透号码由10个1-99之间的数字组成 定义方法,打印大乐透号码信息 代码实现,效果如图所示: 开发提示: 使用数组保存录入的号码 参考答案: public ...

  7. 2017年11月01日普及组 I Like Matrix!

    Description 给定 k 种移动方式:从 (i,j) 移动到 (i + xk ,j + yk )(xk ,yk > 0).询问在一个 n ∗ m 的矩阵中,从 (1,1) 出发,可以到达 ...

  8. javascript学习系列(11):数组中的findIndex方法

    最好的种树是十年前,其次是现在.歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主  放弃很容易但是坚持一定很酷     我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的 ...

  9. OpenCL 学习step by step (11) 数组求和(reduction)

    本篇教程中,我们学习一下如何用opencl有效实现数组求和,也就是通常所说的reduction问题. 在程序中,我们设置workgroup size为256,kernel的输入.输出缓冲参数都用uin ...

  10. NOI / 1.6编程基础之一维数组01:与指定数字相同的数的个数

    题目: 输出一个整数序列中与指定数字相同的数的个数. http://noi.openjudge.cn/ch0106/01/ 解题思路: int一个列表,从0到105. int n. 重复输入列表中的数 ...

最新文章

  1. windbg设断点命令详解(bp, bu, bm, ba 以及bl, bc, bd, be)
  2. Selenium之定位元素常用的8种方法整理(第一篇)
  3. springboot发送http请求
  4. [概统]本科二年级 概率论与数理统计 第五讲 二元随机变量
  5. Cibersort免疫浸润的在线分析及R语言代码实现
  6. C# 自定义类型转换
  7. 用Grafana为Elasticsearch做日志分析
  8. matlab偶极矩电场强度分布图_课程设计用MATLAB模拟偶极子的电场分布.doc
  9. OpenCV:使用python-cv2实现Harr+Adaboost人脸识别
  10. MySQL触发器自动更新memcache[转]
  11. python mro算法_Python MRO C3算法实现
  12. 常用的pcb设计软件有哪些
  13. Hog特征、Haar特征
  14. Android开发_ARN是什么
  15. 欢迎使用CSD 第三方士大夫胜多负少的N-markdown编辑器
  16. 华为、字节跳动、蔚来、康师傅、法雷奥、AIG等公司高管变动
  17. SIGIR2022 | 基于Prompt的用户自选公平性推荐算法
  18. 如何监控工程项目进度?
  19. 墨画子卿第三章第9节:是一个人
  20. 财会法规与职业道德【4】

热门文章

  1. Digi重启XBee-Pro S2C生产,有些差别需要注意
  2. 物联网智能家居系统概述和相关技术
  3. 蓝桥杯成绩公布——大一零基础如何三个月混到省一?
  4. MySQL 实验四数据库的数据查询
  5. 用C#自制苹果工具条Dock
  6. OpenCV学习笔记(七)——图像梯度及边缘检测
  7. BZOJ 1814 Ural 1519 Formula 1
  8. simplis汉化包_Simtrix.simplis中文教程
  9. 悬浮 内容滚动实现_近年来我国磁悬浮轴承市场运营情况分析
  10. gcIPtoHostQueue.exe