CPP2022-11-数组01(上)

简介: CPP2022-11-数组01

7-1 查找整数

分数 10

全屏浏览题目

切换布局

作者 杨起帆

单位 浙大城市学院

本题要求从输入的N个整数中查找给定的X。如果找到,输出X的位置(从0开始数);如果没有找到,输出“Not Found”。

输入格式:

输入在第一行中给出两个正整数N(≤20)和X,第二行给出N个整数。数字均不超过长整型,其间以空格分隔。

输出格式:

在一行中输出X的位置,或者“Not Found”。

输入样例1:

1. 5 7
2. 3 5 7 1 9

输出样例1:

2

输入样例2:

1. 5 7
2. 3 5 8 1 9

输出样例2:

Not Found
1. #include<bits/stdc++.h>
2. using namespace std;
3. int main()
4. {
5. int a[20];
6. int n,x;
7.     cin>>n>>x;
8. for(int i=0;i<n;i++)
9.     {
10.         cin>>a[i];
11. if(a[i]==x)
12.         {
13.             cout<<i;
14. return 0;
15.         }
16.     }
17.     cout<<"Not Found"<<endl;
18. return 0;
19. }

7-2 将数组中的数逆序存放

分数 10

全屏浏览题目

切换布局

作者 C课程组

单位 浙江大学

本题要求编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放,再按顺序输出数组中的元素。

输入格式:

输入在第一行中给出一个正整数n(1≤n≤10)。第二行输入n个整数,用空格分开。

输出格式:

在一行中输出这n个整数的处理结果,相邻数字中间用一个空格分开,行末不得有多余空格。

输入样例:

1. 4
2. 10 8 1 2

输出样例:

2 1 8 10
1. #include<bits/stdc++.h>
2. using namespace std;
3. int main()
4. {
5. int a[10];
6. int n;
7.     cin>>n;
8. for(int i=0;i<n;i++)
9.     {
10.         cin>>a[i];
11.     }
12. for(int i=n-1;i>=0;i--)
13.     {
14.         cout<<a[i];
15. if(i>0)
16.         {
17.             cout<<" ";
18.         }
19.     }
20. return 0;
21. }

7-3 交换最小值和最大值

分数 10

全屏浏览题目

切换布局

作者 C课程组

单位 浙江大学

本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。

注意:题目保证最大和最小值都是唯一的。

输入格式:

输入在第一行中给出一个正整数N(≤10),第二行给出N个整数,数字间以空格分隔。

输出格式:

在一行中顺序输出交换后的序列,每个整数后跟一个空格。

输入样例:

1. 5
2. 8 2 5 1 4

输出样例:

1 2 5 4 8
1. #include<bits/stdc++.h>
2. using namespace std;
3. int main()
4. {
5. int n,only;
6. int a[10];
7.     cin>>n;
8. if(n==1)
9.     {
10.         cin>>only;
11.         cout<<only<<" ";
12. return 0;
13.     }
14. int max=0;
15. int min=1;
16. for(int i=0;i<n;i++)
17.     {
18.         cin>>a[i];
19. if(a[min]>a[i])
20.         {
21.             min=i;
22.         }
23. else if(a[max]<a[i])
24.         {
25.             max=i;
26.         }
27.     }
28. if(min==n-1&&max==0)
29.     {
30. swap(a[0],a[n-1]);
31.     }
32. if(max==0&&min!=n-1)
33.     {
34. swap(a[max],a[n-1]);
35. swap(a[min],a[0]);
36.     }
37. else if(min==n-1&&max!=0)
38.     {
39. swap(a[0],a[n-1]);
40. swap(a[max],a[n-1]);
41.     }
42. else
43.     {
44. swap(a[max],a[n-1]);
45. swap(a[min],a[0]);
46.     }
47. for(int i=0;i<n;i++)
48.     {
49.         cout<<a[i];
50. if(i<n)
51.         {
52.             cout<<" ";
53.         }
54.     }
55. return 0;
56. }

7-4 输出数组元素

分数 10

全屏浏览题目

切换布局

作者 颜晖

单位 浙江大学

本题要求编写程序,对顺序读入的n个整数,顺次计算后项减前项之差,并按每行三个元素的格式输出结果。

输入格式:

输入的第一行给出正整数n(1<n≤10)。随后一行给出n个整数,其间以空格分隔。

输出格式:

顺次计算后项减前项之差,并按每行三个元素的格式输出结果。数字间空一格,行末不得有多余空格。

输入样例:

1. 10
2. 5 1 7 14 6 36 4 28 50 100

输出样例:

1. -4 6 7
2. -8 30 -32
3. 24 22 50
1. #include<bits/stdc++.h>
2. using namespace std;
3. int main()
4. {
5.  int n;
6.  int a[20];
7.  cin>>n;
8.  for(int i=0;i<n;i++)
9.  {
10.     cin>>a[i];
11.    }
12.    for(int i=1;i<n;i++)
13.    {
14.     a[i-1]=a[i]-a[i-1];
15.     } 
16.     for(int i=0;i<n-1;i++)
17.     {
18.       cout<<a[i];
19.       if((i+1)%3!=0&&i!=n-2)
20.       {
21.         cout<<" ";
22.       }
23.       if((i+1)%3==0)
24.       {
25.         cout<<endl;
26.       }
27.     }
28.     return 0;
29. }

7-5 求整数序列中出现次数最多的数

分数 10

全屏浏览题目

切换布局

作者 张彤彧

单位 浙江大学

本题要求统计一个整型序列中出现次数最多的整数及其出现次数。

输入格式:

输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数。数字间以空格分隔。

输出格式:

在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。

输入样例:

10 3 2 -1 5 3 4 3 0 3 2

输出样例:

3 4
1. #include<bits/stdc++.h>
2. using namespace std;
3. int main()
4. {
5.  int n,f;
6.  int a[1000],time[1000]={0};
7.  int i,j;
8.  cin>>n;
9. if(n==1)
10.     {
11.         cin>>f;
12.         cout<<f<<" "<<n;
13. return 0;
14.     }
15.   for(int i=0;i<n;i++)
16.   {
17.     cin>>a[i];
18.   }
19.   for(int i=1;i<=n;i++)
20.   {
21.     int number=0;
22.     for(int j=0;j<n;j++)
23.     {
24.       if(a[i]==a[j])
25.       {
26.         number++;
27.       }
28.     }
29.     time[i]=number;
30.   }
31.   int max_time=0;
32.   int max_a=0;
33.   for(int i=0;i<n;i++)
34.   {
35.     if(time[max_time]<time[i])
36.     {
37.       time[max_time]=time[i];
38.       a[max_a]=a[i];
39.     }
40.   }
41.   cout<<a[max_a]<<" "<<time[max_time]<<endl;
42.   return 0;
43. }
相关文章
|
4月前
|
存储 算法 Java
求数组中的最大值和最小值
本文介绍了在程序中如何查找数组中的最大值和最小值,重点讲解了两种算法:普通算法和分治算法。普通算法通过遍历数组直接比较元素大小,找出最值;而分治算法则通过递归将数组划分成更小的部分,分别找出各部分的最大值,最终合并结果得到整个数组的最大值。文章以 {3,7,2,1} 为例,详细演示了两种算法的实现过程,并提供了 C、Java 和 Python 的代码示例。
280 0
|
机器学习/深度学习 人工智能 自然语言处理
深度学习的奥秘:探索神经网络的核心原理
本文将深入浅出地介绍深度学习的基本概念,包括神经网络的结构、工作原理以及训练过程。我们将从最初的感知机模型出发,逐步深入到现代复杂的深度网络架构,并探讨如何通过反向传播算法优化网络权重。文章旨在为初学者提供一个清晰的深度学习入门指南,同时为有经验的研究者回顾和巩固基础知识。
428 11
|
并行计算 PyTorch Linux
大概率(5重方法)解决RuntimeError: CUDA out of memory. Tried to allocate ... MiB
大概率(5重方法)解决RuntimeError: CUDA out of memory. Tried to allocate ... MiB
10014 0
|
人工智能 算法 数据可视化
DBSCAN密度聚类算法(理论+图解+python代码)
DBSCAN密度聚类算法(理论+图解+python代码)
5843 1
|
存储 Linux 网络安全
【网络安全/CTF】unseping 江苏工匠杯
【网络安全/CTF】unseping 江苏工匠杯
233 0
【网络安全/CTF】unseping 江苏工匠杯
|
JSON 算法 网络安全
【网络安全/CTF】easyphp 江苏工匠杯
【网络安全/CTF】easyphp 江苏工匠杯
260 0
【网络安全/CTF】easyphp 江苏工匠杯
补码浮点数运算(设数的阶码为3位,尾数为6位(均不包括符号位)按机械补码浮点运算规则完成下列[x+y]补运算。)
补码浮点数运算(设数的阶码为3位,尾数为6位(均不包括符号位)按机械补码浮点运算规则完成下列[x+y]补运算。)
637 0
|
存储 Docker Windows
如何缩减Docker Desktop占用磁盘空间
如何缩减Docker Desktop占用磁盘
4937 1
|
前端开发 Java 应用服务中间件
手把手教你快速搭建Struts2框架【详细教程,建议收藏】
手把手教你快速搭建Struts2框架【详细教程,建议收藏】
472 0
手把手教你快速搭建Struts2框架【详细教程,建议收藏】
|
NoSQL
[CTF]攻防世界Simple-check-100题解(GDB)
[CTF]攻防世界Simple-check-100题解(GDB)
488 0
[CTF]攻防世界Simple-check-100题解(GDB)