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

news2024/12/24 9:45:07

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   1
   2   1
   3   3
   4   1
   5   0
   6   1
   7   1
   8   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;
    else
    cout<<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.coloradmin.cn/o/1174305.html

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

相关文章

[React] React-Redux 快速入门

文章目录 1.安装 Redux Toolkit 和 React Redux2.创建 Redux Store3.为 React 提供 Redux Store​4.创建 Redux State Slice5.添加 Slice Reducers 到 Store6.在 React 组件中使用 Redux State 和 Actions​7.总结 1.安装 Redux Toolkit 和 React Redux npm install reduxjs/t…

测试服务器端口是否开通,计算退休时间

本案例知识点 netstat -tuln | grep 80 nestat 目前主机打开的网络服务端口&#xff0c;-tuln目前主机启动的服务&#xff0c;如图 报错说参数太多&#xff0c;仔细检查发现if后的中括号内&#xff0c;变量少双引号导致&#xff0c;改完之后运行显示22,25端口开放&#xff0…

关于编程不得不说的事

这些年&#xff0c;互联网爆炸式的发展&#xff0c;促生了无数程序员&#xff0c;也促生了大量 IT培训机构。短短数年间&#xff0c;科班出生的程序员和培训机构出生的程序员呈指数增长。程序员的职业也不再是金饭碗。写了这么多代码&#xff0c;有些感触&#xff0c;所以写下来…

挑战100天 AI In LeetCode Day01(1)

挑战100天 AI In LeetCode Day01&#xff08;1&#xff09; 一、LeetCode介绍二、LeetCode 热题 HOT 100-12.1 题目2.2 题解 三、面试经典 150 题-13.1 题目3.2 题解 一、LeetCode介绍 LeetCode是一个在线编程网站&#xff0c;提供各种算法和数据结构的题目&#xff0c;面向程序…

回顾十大数据恢复软件,帮助用于恢复丢失的文件!

您是否因丢失计算机上的重要文件而感到恐慌&#xff1f;你不是一个人&#xff01;数据丢失是许多人面临的严重问题&#xff0c;但幸运的是&#xff0c;有许多解决方案可以恢复数据。 在本文中&#xff0c;我将回顾十大数据恢复软件&#xff0c;以帮助您恢复丢失的文件&#xf…

线性【SVM】数学原理和算法实现

一. 数学原理 SVM是一类有监督的分类算法&#xff0c;它的大致思想是&#xff1a;假设样本空间上有两类点&#xff0c;如下图所示&#xff0c;我们希望找到一个划分超平面&#xff0c;将这两类样本分开&#xff0c;我们希望这个间隔能够最大化来使得模型泛化能力最强。 如上图所…

Vulnhub-DC-3 靶机复现完整过程

啰嗦两句&#xff1a; 提权之前完成是一个月前做的&#xff0c;当时在提权处出了点问题就搁置了&#xff0c;今天才完成&#xff0c;所以IP地址可能会会有变化 注意&#xff1a;后续出现的IP地址为192.168.200.55同样是靶机IP地址&#xff0c;若本文能有帮助到你的地方&#xf…

Flutter 07 框架和三棵树(Widgets、Elements和RenderObjects)

一、Flutter框架的整体结构&#xff1a; Flutter是Google推出并开源的跨平台开发框架&#xff0c;主打跨平台、高保真、高性能。开发者可以通过Dart语 言开发Flutter应用&#xff0c;一套代码同时运行在ios和Android平台。不仅如此&#xff0c;Flutter还支持Web、桌面、嵌 入应…

论文阅读——What Can Human Sketches Do for Object Detection?(cvpr2023)

论文&#xff1a;https://openaccess.thecvf.com/content/CVPR2023/papers/Chowdhury_What_Can_Human_Sketches_Do_for_Object_Detection_CVPR_2023_paper.pdf 代码&#xff1a;What Can Human Sketches Do for Object Detection? (pinakinathc.me) 一、 Baseline SBIR Fram…

按键开发环境搭建

雷电模拟器 创建虚拟机 2.设置root权限 打开按键精灵连接虚拟机 开启悬浮 mumu模拟器操作 查找端口方法 adb connect 127.0.0.1:16416 设置-应用-所有应用-按键精灵-开启悬浮 步骤二&#xff1a;开启root 处理未root&#xff1a;中途如果有如下未root的情况&#x…

基于单片机的超声波测距仪

收藏和点赞&#xff0c;您的关注是我创作的动力 文章目录 概要 一、本课题研究的主要内容二、超声波测距仪的整体方案2.2 超声波测距仪设计原理 三、超声波测距仪系统硬件电路的设计3.1 超声波测距仪的基本结构 四、 超声波测距仪系统的软件设计4.1 主程序软件设计仿真 五、结…

从信号中去除 60 Hz 杂声

美国和其他几个国家/地区的交流电以 60 Hz 的频率振荡。这些振荡通常会破坏测量结果&#xff0c;必须将其减去。 在存在 60 Hz 电力线噪声的情况下&#xff0c;研究模拟仪器的输入的开环电压。电压采样频率为 1 kHz。 load openloop60hertz, openLoop openLoopVoltage;Fs 10…

一文详解:传统企业如何把进销存管理流程搬到线上?

进销存管理是企业管理的核心流程之一&#xff0c;它有助于提高效率、降低成本、增加盈利&#xff0c;同时确保客户满意度&#xff0c;这对于企业的长期成功和竞争力至关重要。但在信息化转型的浪潮下&#xff0c;很多企业的传统进销存流程却遇到不少问题。 如果你也在考虑把进…

JavaEE平台技术——Spring和Spring Boot

JavaEE平台技术——Spring和Spring Boot 1. 控制反转1.1. IoC是什么1.2. IoC能做什么1.3. IoC和DI 2. SpringBean对象定义3. Spring容器4. SpringBoot 在观看这个之前&#xff0c;大家请查阅前序内容。 &#x1f600;JavaEE的渊源 &#x1f600;&#x1f600;JavaEE平台技术——…

【Unity基础】7.动画状态参数

【Unity基础】7.动画状态参数 大家好&#xff0c;我是Lampard~~ 欢迎来到Unity基础系列博客&#xff0c;所学知识来自B站阿发老师~感谢 &#xff08;一&#xff09;创建动画状态 (1) 创建动画状态 不好意思各位~最近工作比较忙&#xff0c;稍微耽误了这两周的博客。话…

【Mybatis小白从0到90%精讲】09:Mybatis动态SQL:if、where、set标签

文章目录 前言一、if 标签二、where 标签三、set 标签前言 动态SQL 是 Mybatis的亮点功能之一,如果你经历过 拼接SQL 的繁琐痛苦,那么你就能切身感受到动态SQL到底有多爽!真香哈~ 另外,Mybatis将动态SQL设计的如此自然,让人看看就能理解和接受,我想这也是Mybaits如此深…

智慧城市排水系统,管网水位监测仪怎么监测

地下排水管网应用于城市的多个环境之中&#xff0c;比如排放雨水&#xff0c;污水或者是地表水等&#xff0c;总之是在维护城市的安全运行&#xff0c;并且保护城市地下生命线处于正常状态。但是一旦排水系统面对各种极端天气&#xff0c;便有可能会突发安全事故&#xff0c;导…

仿写知乎日报第三周

新学到的 本周新学习了FMDB数据库&#xff0c;并对Masonry的使用有了更近一步的了解&#xff0c;还了解了cell的自适应高度 FMDB数据库的介绍和使用&#xff1a;iOS——FMDB的介绍与使用 cell自适应高度和Mansonry自动布局 本周写了评论区&#xff0c;在写评论区的时候&…

WebSocket Day02 : 握手连接

前言 握手连接是WebSocket建立通信的第一步&#xff0c;通过客户端和服务器之间的一系列握手操作&#xff0c;确保了双方都支持WebSocket协议&#xff0c;并达成一致的通信参数。握手连接的过程包括客户端发起握手请求、服务器响应握手请求以及双方完成握手连接。完成握手连接后…

非线性【SVM】的创建和使用

先来绘制散点图&#xff1a; from sklearn.datasets import make_circles X,y make_circles(100, factor0.1, noise.1) # 100个样本&#xff0c;factor:内圈和外圈的距离之比&#xff0c;noise:噪声 X.shape y.shape plt.scatter(X[:,0],X[:,1],cy,s50,cmap"rainbow&qu…