2023-2024-1高级语言程序设计-一维数组

7-1 逆序输出数组元素的值

从键盘输入n个整数存入一维数组中,然后将数组元素的值逆序输出。

输入格式:

第一行输入整数个数n;
第二行输入n 个整数,数据之间以空格隔开。

输出格式:

逆序输出数组元素的值,每个数据之后跟一个空格。

输入样例:

10
11 22 99 33 88 76 56 45 89 10

输出样例:

10 89 45 56 76 88 33 99 22 11 
#include<bits/stdc++.h>
using namespace std;
int main(){int n,a[105],i;cin>>n;for(i=0;i<n;i++)cin>>a[i];for(i=n-1;i>=0;i--){cout<<a[i]<<' ';}return 0;
}

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

本题要求编写程序,将给定的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 n,a[15],i;cin>>n;for(i=0;i<n;i++)cin>>a[i];for(i=n-1;i>=0;i--){cout<<a[i];if(i)cout<<' ';}return 0;
}

 

7-3 第几天

你知道,2012-1-1是该年的第1天,而9999-9-9呢?给你一个具体的日期,计算该日期是该年的第几天。

输入格式:

输入一个日期,格式为:Year-month-day。year是小于9999的正整数。

输出格式:

一个整数,表示该日期是该年的第几天。

输入样例:

在这里给出一组输入。例如:

2012-3-1

输出样例:

在这里给出相应的输出。例如:

61

 

#include<bits/stdc++.h>
using namespace std;
int main(){int i,a,b,c,x[15]={31,28,31,30,31,30,31,31,30,31,30,31};scanf("%d-%d-%d",&a,&b,&c);if(a%400==0||(a%4==0&&a%100))x[1]=29;for(i=0;i<b-1;i++)c+=x[i];cout<<c;return 0;
}

7-4 斐波那契

斐波那契数列,指的是这样一个数列:0,1,1,2,3,5,8,……,这个数列从第3项开始,每一项都等于前两项之和。求斐波那契数列的前n项。

输入格式:

输入一个n(n>=3)的值。

输出格式:

输出斐波那契数列的前n项。

输入样例:

在这里给出一组输入。例如:

6

输出样例:

在这里给出相应的输出。例如:

0,1,1,2,3,5
#include<bits/stdc++.h>
using namespace std;
int main(){int a[105],i,n;cin>>n;a[0]=0,a[1]=1;for(i=2;i<n;i++)a[i]=a[i-1]+a[i-2];for(i=0;i<n;i++){if(i)cout<<",";cout<<a[i];}return 0;
}

 7-5 评委打分

班级里要搞智力竞赛啦!同学们都踊跃参加。进入最后决赛的是10个同学,随着一道道题目的出示,有时是1号选手得分,有时是5号选手得分,每次答对者得10分,最后结果如何呢?

输入格式:

第一行有十个整数,表示十位同学的初始分。第二行一个整数n,表示有n道题竞赛。
接下去有n行,每行有一个数字x,x表示本次可以加分的选手序号(每次答对者得10分)。

输出格式:

10个同学最终的得分值,每两位同学之间有一个空格。

输入样例:

10 0 0 0 10 10 0 0 0 10
3
1
10
1

输出样例:

30 0 0 0 10 10 0 0 0 20
#include<bits/stdc++.h>
using namespace std;
int main(){int a[105],i,n,x;for(i=1;i<=10;i++)cin>>a[i];cin>>n;while(n--){cin>>x;a[x]+=10;}for(i=1;i<=10;i++){if(i!=1)cout<<' ';cout<<a[i];}return 0;
}

 7-6 统计分数段人数

请对某次考试的分数,统计各分数段人数,统计原则:分别对10分以下、10-19分、20-29分、30-39分、40-49分、50-59分、60-69分、70-79,80-89分,90到99分,100分为一段,共11段 。
注意:如果输入分数不在[0,100]之间,不参与统计。

输入格式:

先输入一个整数n,表示将输入n个分数。
再输入n个分数,范围在[0~100].
每个数用空格间隔。

输出格式:

每一行输出一个分数段的人数统计结果。分数段用0~10表示。

输入样例:

在这里给出一组输入。例如:

6
50 60 98 100 0 1000

输出样例:

在这里给出相应的输出。例如:

0: 1
1: 0
2: 0
3: 0
4: 0
5: 1
6: 1
7: 0
8: 0
9: 1
10: 1
#include<bits/stdc++.h>
using namespace std;
int main(){int n,i,a[15]={0},y;double x;cin>>n;while(n--){cin>>x;if(x>=0&&x<=100){y=x/10;a[y]++;}}for(i=0;i<=10;i++){cout<<i<<": "<<a[i]<<endl;}return 0;
}

 7-7 统计工龄

给定公司多名员工的工龄,按输入工龄顺序输出每个工龄段有多少员工。

输入格式:

给出多个整数,即每个员工的工龄,范围在[0, 50]。

输出格式:

按输入工龄顺序输出每个工龄的员工个数,格式为:“工龄:人数”。
每项占一行。

输入样例:

10 2 0 5 7 2 5 2

输出样例:

10:1
2:3
0:1
5:2
7:1
#include<bits/stdc++.h>
using namespace std;
int main(){int x,a[105]={0},i,y=0,b[105],c[55]={0};while(cin>>x){a[x]++;b[y++]=x;}for(i=0;i<y;i++){if(c[b[i]]==0){cout<<b[i]<<":"<<a[b[i]]<<endl;c[b[i]]=1;}}return 0;
}

 7-8 调查电视节目受欢迎程度

某电视台要调查观众对该台8个栏目(设相应栏目编号为1~8)的受欢迎情况,共调查了n位观众(1≤n≤1000),现要求编写程序,输入每一位观众的投票情况(每位观众只能选择一个最喜欢的栏目投票),统计输出各栏目的得票情况。

输入格式:

输入在第1行中给出一个正整数n(1≤n≤1000),第2行输入n个整数,其间以空格分隔。

输出格式:

按顺序输出所有8个栏目的编号和得票数,每个数占4位,每行输出一个栏目的编号和得票数。

输入样例:

10
3 4 7 6 3 9 2 3 1 8

输出样例:

   1   12   13   34   15   06   17   18   1
#include<bits/stdc++.h>
using namespace std;
int main(){int n,x,i,a[1005];cin>>n;while(n--){cin>>x;a[x]++;}for(i=1;i<=8;i++){printf("%4d%4d\n",i,a[i]);}return 0;
}

 7-9 求最大值及其下标

本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。

输入格式:

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

输出格式:

在一行中输出最大值及最大值的最小下标,中间用一个空格分开。

输入样例:

6
2 8 10 1 9 10

输出样例:

10 2
#include<bits/stdc++.h>
using namespace std;
int main(){int n,x,i,a[1005],max;cin>>n;cin>>a[0];max=a[0];for(i=1;i<n;i++){cin>>a[i];if(a[i]>max)max=a[i];}for(i=0;i<n;i++){if(a[i]==max){cout<<max<<' '<<i;break;}}return 0;
}

 7-10 点赞

微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。本题就要求你写个程序,通过统计一个人点赞的纪录,分析这个人的特性。

输入格式:

输入在第一行给出一个正整数N(≤1000),是该用户点赞的博文数量。随后N行,每行给出一篇被其点赞的博文的特性描述,格式为“K F1​⋯FK​”,其中1≤K≤10,Fi​(i=1,⋯,K)是特性标签的编号,我们将所有特性标签从1到1000编号。数字间以空格分隔。

输出格式:

统计所有被点赞的博文中最常出现的那个特性标签,在一行中输出它的编号和出现次数,数字间隔1个空格。如果有并列,则输出编号最大的那个。

输入样例:

4
3 889 233 2
5 100 3 233 2 73
4 3 73 889 2
2 233 123

输出样例:

233 3
#include<bits/stdc++.h>
using namespace std;
int main(){int n,k,x,i,a[1005]={0},max=0;cin>>n;while(n--){cin>>k;while(k--){cin>>x;a[x]++;if(a[x]>max)max=a[x];}}for(i=1000;i>=1;i--)if(a[i]==max){cout<<i<<' '<<a[i];break;}return 0;
}

 7-11 根据所给数据,输入一个区间,输出其中最多的点赞量。

根据表中所给微博点赞数据:{3056,1169,2743,1616,2391,930,968,1011,1386,936},
输入一个区间,输出其区间最多的点赞量。

1.png

输入格式:

两个数据用空格隔开,例如输入:2 5

输出格式:

2743

输入样例:

4 7

输出样例:

2391
#include<bits/stdc++.h>
using namespace std;
int main(){int x,y,i,a[15]={0,3056,1169,2743,1616,2391,930,968,1011,1386,936},max=0;cin>>x>>y;for(i=x;i<=y;i++){if(a[i]>max)max=a[i];}cout<<max;return 0;
}

 

7-12 排序

请编写程序对不超过50000个整数递增排序。

输入格式:

输入第一行一个正整数n,表示待排序的元素个数。第二行为n个整数,表示待排序的元素。n不超过50000。

输出格式:

输出为一行,表示排序结果,每个整数后一个空格。

输入样例:

5
5 4 3 2 1

输出样例:

1 2 3 4 5 
#include<bits/stdc++.h>
using namespace std;
int main(){int n,a[500005],i;cin>>n;for(i=0;i<n;i++)cin>>a[i];sort(a,a+n);for(i=0;i<n;i++)cout<<a[i]<<' ';return 0;
}

 7-13 歌手得分

在歌手大赛中,有n个评委为参赛的歌手打分,分数为0~100分。歌手最后得分为去掉m个最高分和m个最低分后,剩余的n−2m个分数的平均值。

输入格式:

输入数据的第一行为一个正整数T,表示测试数据的组数,然后是T组测试数据。对于每组测试数据,第一行输入两个整数n,m(3<n<100,m<n/2),含义如上;第二行输入n个整数。

输出格式:

对于每组测试数据,输出一行,包含一个实数,表示歌手的最后得分。结果保留两位小数。

输入样例:

2
10 1
20 20 80 80 10 10 10 40 40 60
10 2
20 20 80 80 10 10 10 40 40 60

输出样例:

35.00
31.67
#include<bits/stdc++.h>
using namespace std;
int main(){int t,n,m,i;cin>>t;while(t--){cin>>n>>m;int a[105],s=0;for(i=0;i<n;i++)cin>>a[i];sort(a,a+n);for(i=0+m;i<n-m;i++)s+=a[i];printf("%.2f\n",s*1.0/(n-2*m));}return 0;
}

 

7-14 二分查找

输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。

输入格式:

输入共三行:
第一行是n值;
第二行是n个整数;
第三行是x值。

输出格式:

输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。

输入样例:

4
1 2 3 4
1

输出样例:

0
2
#include<bits/stdc++.h>
using namespace std;
int main(){int n,i,x,a[1005],l,h,mid,y=1,k=0;cin>>n;for(i=0;i<n;i++)cin>>a[i];cin>>x;l=0,h=n-1;while(1){mid=(l+h)/2;if((mid==0&&a[mid]!=x)||(mid==n-1&&a[mid]!=x)){k=1;break;}if(a[mid]==x)break;y++;if(a[mid]>x)h=mid-1;if(a[mid]<x)l=mid+1;}if(k)cout<<"-1\n"<<y;elsecout<<mid<<endl<<y;return 0;
}

 7-15 找出不是两个数组共有的元素

给定两个整型数组,本题要求找出不是两者共有的元素。

输入格式:

输入分别在两行中给出两个整型数组,每行先给出正整数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 n,m,i,a[105],b[105],c[100005]={0},x=0;cin>>n;for(i=0;i<n;i++)cin>>a[i];cin>>m;for(i=0;i<m;i++)cin>>b[i];for(i=0;i<n;i++){if(c[a[i]]==1)continue;c[a[i]]=1;int k=0;for(int j=0;j<m;j++){if(a[i]==b[j]){k=1;break;}}if(k==0){if(x)cout<<' ';cout<<a[i];x=1;}}for(i=0;i<m;i++){if(c[b[i]]==1)continue;c[b[i]]=1;int k=0;for(int j=0;j<n;j++){if(b[i]==a[j]){k=1;break;}}if(k==0){if(x)cout<<' ';cout<<b[i];x=1;}}return 0;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/131138.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于野狗算法的无人机航迹规划-附代码

基于野狗算法的无人机航迹规划 文章目录 基于野狗算法的无人机航迹规划1.野狗搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用野狗算法来优化无人机航迹规划。 1.野狗搜索算法 …

SpringBoot整合RabbitMQ学习笔记

SpringBoot整合RabbitMQ学习笔记 以下三种类型的消息&#xff0c;生产者和消费者需各自启动一个服务&#xff0c;模拟生产者服务发送消息&#xff0c;消费者服务监听消息&#xff0c;分布式开发。 一 Fanout类型信息 . RabbitMQ创建交换机和队列 在RabbitMQ控制台&#xff0c;新…

JS逆向爬虫---请求参数加密① 【某度翻译】

接口定位 抓包输入翻译关键词 全局搜索关键词,定位到接口https://fanyi.baidu.com/v2transapi 全局搜索sign 多次尝试定位变化参数sign 断点调试b函数 复制整个function&#xff0c;并测试函数运行结果。 需要把function改写成如下的数据&#xff1a; function(t) {var o…

使用Java工作流简单介绍

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(注明:作者:王文峰…

WebSocket: 实时通信的理解与认识

介绍&#xff1a; 在现代Web应用程序中&#xff0c;实时通信对于提供即时更新和交互性至关重要。传统的HTTP协议虽然适合请求-响应模式&#xff0c;但对于需要频繁数据交换的场景并不理想。而WebSocket技术的出现填补了这个空白&#xff0c;为Web开发者们带来了一种高效、实时的…

reactor(百万并发服务器) - 2

这是连续剧般的文章&#xff0c;请关注&#xff0c;持续更新中... 系列文章: http://t.csdnimg.cn/Os83Qhttp://t.csdnimg.cn/Os83Q这篇文章将我们的reactro转变成http服务器... HTTP HTTP介绍 HTTP是一个基于TCP通信协议的基础上的应用层协议。接下来我们需要解析HTTP请求消息…

【2024最新】PE工具箱【下载安装】零基础到大神【附下载链接】

下载链接&#xff1a;点这里 1.PE (Portable Executable) 工具箱通常用于处理Windows可执行文件和动态链接库&#xff08;DLL&#xff09;的二进制文件格式。这些工具对于进行逆向工程、软件分析和系统维护等任务非常有用。以下是PE工具箱的一些常见功能和用法&#xff1a; 查…

VR博物馆:让博物馆传播转化为品牌影响力

随着VR技术的不断进步&#xff0c;VR全景技术已经成为了文化展示和传播的一项重要工具&#xff0c;相较于传统视频、图文等展现方式&#xff0c;VR全景体验更加直观、便捷&#xff0c;其中蕴涵的信息量也更加丰富&#xff0c;这也为公众了解博物馆和历史文化带来了更为深刻的体…

洗衣洗鞋柜洗衣洗鞋小程序

支持&#xff1a;一键投递、上门取衣、自主送店、多种支付方式 TEL: 17638103951(同V) -----------------用户下单-------------- -------------------------多种支付和投递方式------------------------- -----------------商家取鞋--------------

Transformer的最简洁pytorch实现

目录 前言 1. 数据预处理 2. 模型参数 3. Positional Encoding 4. Pad Mask 5. Subsequence Mask 6. ScaledDotProductAttention 7. MultiHeadAttention 8. FeedForward Networks 9. Encoder Layer 10. Encoder 11. Decoder Layer 12. Decoder 13. Transformer 1…

基于STM32HAL库看门狗(独立看门狗)-简述

目录 概述 一、开发环境 二、STM32CubeMx配置 三、编码 四、运行结果 五、总结 概述 一个成熟靠谱的项目&#xff0c;离不开“看门狗”的必选项&#xff0c;凡是人写的程序多少都会有出现bug的情况&#xff08;或芯片外设受外界干扰导致故障程序卡死、跑飞的情况&#xf…

Could not find org.jetbrains.kotlin:kotlin-stdlib-jre7:1.5.21.

前两天下了一个demo&#xff0c;运行时候报了一个这样的错&#xff0c;特此记录一下。 先看下报的错。 Caused by: org.gradle.internal.resolve.ModuleVersionNotFoundException: Could not find org.jetbrains.kotlin:kotlin-stdlib-jre7:1.5.21. Searched in the following…

AI:58-基于深度学习的猫狗图像识别

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…

mongodb如何删除数据并释放空间

mongodb删除数据后不会直接释放内存空间&#xff0c;是因为使用了一种称为“延迟删除”的策略。这意味着当一个文档被删除时&#xff0c;它仍然会占用一定的内存空间&#xff0c;直到这个空间被垃圾回收器&#xff08;Garbage Collector&#xff09;回收。 删除数据操作前建议先…

算法通关村第一关——链表青铜挑战笔记

1.理解Java是如何构造出链表的 public class LinkedList<T> {// 节点类class Node {// 数据域 存储数据T data;// 指针域 下一个节点的引用Node next;public Node(T data) {this.data data;}}// 头节点private Node head;// 链表长度private int size;// 构造方法publi…

【LeetCode】每日一题 2023_11_5 重复的DNA序列

文章目录 刷题前唠嗑重复的DNA序列题目描述代码和解题思路偷看大佬题解结语 刷题前唠嗑 LeetCode? 启动&#xff01;&#xff01;&#xff01; 重复的DNA序列 题目链接&#xff1a;187. 重复的DNA序列 题目描述 代码和解题思路 func findRepeatedDnaSequences(s string) …

阿里云国际站和华为云国际站之间该如何选择?

阿里云国际站和华为云国际站都是知名的云计算服务提供商&#xff0c;它们各自具有一些独特的优势和劣势。以下是它们之间的一些对比&#xff0c;九河云根据不同的使用场景提供的建议&#xff1a; 阿里云国际站&#xff1a; 优势&#xff1a; 全球覆盖&#xff1a;阿里云国际…

基于SpringBoot+Vue的旅游系统、前后端分离

博主24h在线&#xff0c;想要源码文档部署视频直接私聊&#xff0c;低价有偿&#xff01; 基于SpringBootVue的旅游系统、前后端分离 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI 工具&#xff1a;IDEA/Eci…

使用脚手架创建项目,使用组件开发

单文件组件 单文件组件就是一个文件对应一个组件, 单文件组件的名字通常是xxx.vue(命名规范和组件名的命名规范相同),这个文件是Vue框架规定的只有它能够认识&#xff0c;浏览器无法直接打开运行 Vue框架可以将xxx.vue文件进行编译为浏览器能识别的html js css的代码 xxx.vu…

蒙哥马利算法模乘(四)

一 蒙哥马利算法模乘介绍 蒙哥马利模乘算法主要为了进行大数运算a*b mod n,在介绍蒙哥马利模乘之前,先让我们来了解蒙哥马利约减。 1.1 蒙哥马利约减 a mod n 如果a是一个2048位的整数,n是一个1024位的整数,如果直接采用相除的方式,不论在空间还是时间上都会产生非常大…