一维数组基础(题目+答案)

news2024/9/8 8:35:56
第1题     反向输出     时限:1s 空间:256m

输入n个数,要求程序按输入时的逆序把这n个数打印出来,已知整数不超过100个。也就是说,按输入相反顺序打印这n个数。

输入格式

第一行:一个整数n,代表n个数;

第二行:n个数的具体数值,每个数之间用空格隔开。

输出格式

一行,共有n个数,每个数之间用一个空格隔开。

输入/输出例子1

输入:

5

1 7 3 4 5

输出:

5 4 3 7 1

作答区域

#include<bits/stdc++.h>
using namespace std;
long long n,a[200];
int main(){
    cin>>n;
    for(int i=1;i<=n;i++)
    cin>>a[i];
    for(int i=n;i>=1;i--)
    cout<<a[i]<<" ";
    return 0;
}
 
第2题     数列     时限:1s 空间:256m

已知一个数列的前几个数是: 1, 1, 2, 3, 5, 8, 13, 21,.. 编程实现输入一个整数N,输出第N项是多少。例如输入输出3N小于等于20

输入格式

输入t ,随后输入t个要查找的数

输出格式

t行,分别表示要查找的数

输入/输出例子1

输入:

5

1

2

3

4

5

输出:

1

1

2

3

5

作答区域

#include<bits/stdc++.h>
using namespace std;
long long a[50],n,x;
int main(){
    cin>>n;
    a[1]=1,a[2]=1;
    for(int i=3;i<=30;i++)
        a[i]=a[i-1]+a[i-2];
    for(int i=1;i<=n;i++)
    {
        cin>>x;
        cout<<a[x]<<endl;
    }
    
    return 0;
}
第3题     比身高     时限:1s 空间:256m

信息学班有n个人排成一排,假设他们的身高都是正整数,请找出其中符合以下条件的人:排在他前面且比他高的人数与排在他后面且比他高的人数相等。

输入格式

第一行一个正整数n,1<n<1000,表示有n个人。

下面n行,每行一个正整数,表示从前往后每个人的身高,假设每个人的身高<=10000。

输出格式

一行一个整数,表示满足这个条件的人数。

输入/输出例子1

输入:

4

1

2

1

3

输出:

2

样例解释

第3、第4个人满足条件。

作答区域

 
#include<bits/stdc++.h>
using namespace std;
long long n,a[2000],s,s1,s2;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++)
    cin>>a[i];
    for(int i=1;i<=n;i++)
    {
        s1=0,s2=0;
        for(int j=i-1;j>=1;j--)
            if(a[j]>a[i])s1++;
        for(int j=i+1;j<=n;j++)
            if(a[j]>a[i])s2++;
        if(s1==s2)s++;
    }
    cout<<s;
    return 0;
}

第4题     身高1     时限:1s 空间:256m

HJ信息学班今年又扩招了,今年除了招了HJ小学的各个年级的同学以外,还在NH星球找了一些巨人学霸加入了信息学班。巨人学霸的大都是非常高的,但是他们的高度不超过长整型。现在ShenLin想知道,信息学班中高度为k的巨人学霸有多少个?

输入格式

第一行一个正整数n,1<=n<=10^6。

第二行n个正整数,之间用一个空格隔开,表示n个巨人学霸的身高。

第三行一个正整数k,k的值不超过长整型。

输出格式

一行一个整数,表示高度为k的巨人学霸的数量,如果没有就输出0。

输入/输出例子1

输入:

5

300  400  500  200  300 

300

输出:

2

作答区域

 
#include<bits/stdc++.h>
using namespace std;
long long n,x,a[1000005],s;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++)
    cin>>a[i];
    cin>>x;
    for(int i=1;i<=n;i++)
        if(a[i]==x)s++;
    cout<<s;
    return 0;
}

第5题     珠子     时限:1s 空间:256m

BessieN1≤N≤100)粒蓝色和橙色的珠子连成了一串,问有多少对珠子(相邻的)是不同颜色的。

输入格式

第一行,一个整数N

第二行,N个数字(01),其中0表示橙色,1表示蓝色。

输出格式

输出相邻两粒珠是不同颜色的对数。

输入/输出例子1

输入:

6

1 0 0 1 1 1

输出:

2

输入/输出例子2

输入:

3

1 1 0

输出:

2

作答区域

 
#include<bits/stdc++.h>
using namespace std;
long long n,a[200],s;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++)
        cin>>a[i];
    for(int i=1;i<n;i++)
        if(a[i]!=a[i+1])s++;
    if(a[1]!=a[n])s++;//一定要有这一步,否则会有误差。因为珠子是串起来的(也就是圆的)!
    cout<<s;
    return 0;
}

第6题     骰子     时限:1s 空间:256m

骰子(tóu zi)。中国传统民间娱乐用来投掷的博具。早在战国时期就有。通常作为桌上游戏的小道具,最常见的骰子是六面骰,它是一颗正立方体,上面分别有一到六个孔(或数字),其相对两面之数字和必为七。中国的骰子习惯在一点和四点漆上红色,其余是黑色。现在小Q桌子上摆着N个骰子,他想将x至y连续一段的骰子翻转一面(比如将1面的骰子翻到6面),请你找出这N个骰子最后的点数?

输入格式

第一行一个整数N,表示桌子上有 N 个硬币,N的范围是[3,100].

第二行为 N个数字表示骰子的初始情况。

第三行为两个整数x和y,表示x至y连续一段需要翻转。

输出格式

一行 N个数字,表示骰子的翻转后的情况。

输入/输出例子1

输入:

5

2 5 1 1 4

2 4

输出:

2 2 6 6 4

输入/输出例子2

输入:

10

6 5 4 3 2 1 4 3 2 2

8 3

输出:

6 5 3 4 5 6 3 4 2 2

作答区域

 
#include<bits/stdc++.h>
using namespace std;
long long n,x,y,a[200];
int main(){
    cin>>n;
    for(int i=1;i<=n;i++)
    cin>>a[i];
    cin>>x>>y;
    if(x>y)swap(x,y);
    for(int i=x;i<=y;i++)
    {
        if(a[i]==1)a[i]=6;
        else if(a[i]==2)a[i]=5;
        else if(a[i]==3)a[i]=4;
        else if(a[i]==4)a[i]=3;
        else if(a[i]==5)a[i]=2;
        else if(a[i]==6)a[i]=1;
    }
    for(int i=1;i<=n;i++)
        cout<<a[i]<<" ";
    return 0;
}

第7题     马里奥找中等的银币     时限:1s 空间:256m

勤劳的马里奥存了很多银币之后,担心自己坐吃山空,于是他决定好好学习,不断充实自己。这天马里奥学到了平均值的概念,在数学中,我们用所有数的总和 / 所有数的总个数得到平均数;比如说,数字3 6 12三个整数,平均值 = (3 + 6 + 12) / 3 = 7;而数字3 10两个整数,平均值 = (3 + 10) / 2 = 6.5

学会平均值的概念之后,马里奥想要知道,他所有的银币中,最接近所有银币金额平均值的银币,金额是多少?

比如:假设马里奥存有的银币金额分别为8 5 2 8 2 4,那么这几个银币的平均值是4.83333,最接近这个平均值的银币的金额,应当是5

输入格式

第一行是一个整数n代表马里奥有n个银币(n<=1000

第二行有n个整数,用空格隔开,代表马里奥每个银币的金额 ,数据范围为[1,1000]

输出格式

一个整数,代表最接近所有银币总金额平均值的那个银币的金额
(所有数据保证,最接近平均值的银币的金额是唯一的,也就是说答案只有1个。如果存在下面这种情况,比如有4个银币,8, 5, 1平均值是4.5,金额4和金额5,都是最接近的,则认为答案是最早出现的那个,即4

输入/输出例子1

输入:

6

8 2 7 8 2 4

输出:

4

作答区域

 
#include<bits/stdc++.h>
using namespace std;
double s,n,a[1005],minn=1005,x,m;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        s=s+a[i];
    }
    m=s/n;
    for(int i=1;i<=n;i++)
    {
        if(abs(m-a[i])<minn)
        {
            minn=abs(m-a[i]);
            x=a[i];
        }
    }
    cout<<x;
    return 0;
}

第8题     平均分 (课程B)     时限:1s 空间:256m

有N个学生考了OI测试,请编程帮助老师统计有多少学生没有达到平均分?

输入格式

 一行1个正整数:N,范围在[1,100]。
 第二行N个整数:学生的成绩,每个数范围在[0, 600]。

输出格式

 一个整数,表示有多少学生的分数没有达到平均分。

输入/输出例子1

输入:

 5
 100  200  300  400  500

输出:

2

作答区域

 
#include<bits/stdc++.h>
using namespace std;
double s,n,a[10005],m;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        s=s+a[i];
    }
    m=s/n,s=0;
    for(int i=1;i<=n;i++)
        if(a[i]<m)s++;
    cout<<s;
    return 0;
}

第9题     差距 (课程B)     时限:1s 空间:256m

有N个学生考了OI测试,最高分是大家崇拜的大牛,每个人都想知道与大牛的分数差距,请编程计算。

输入格式

一行1个正整数:N,范围在[1,100]。
 第二行N个整数:学生的成绩,每个数范围在[0,600]。

输出格式

 N个整数,表示每个学生的分数和最高分的差距。

输入/输出例子1

输入:

5
 100  200  300  400  500

输出:

 400  300  200  100  0

作答区域

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

第10题     峰值 (课程B)     时限:1s 空间:256m

输入 N 个整数,表示股票指数的N个时刻的值,如果有一个时刻的值比前一刻和后一刻的值都大,就称为一个高峰值,计算共有多少个高峰?
注:第1个和最后一个值不能算高峰。

输入格式

 第一行1个整数n,范围在[1,100]。
 第二行有n个[1,10000]范围的整数,整数间用一个空格分隔。

输出格式

只一个整数,高峰的个数。

输入/输出例子1

输入:

  7
  7  12  8  8  5  6  4

输出:

2

作答区域

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

第11题     登山 (课程B)     时限:1s 空间:256m

输入 N 个整数,记录你要走的线路地形的高度。如果某个高度比下一个高度低,则要向上爬。向上爬要额外消耗体能,消耗的值等于高度差。问总共额外消耗了多少体能?

输入格式

 第一行1个整数n,范围在[1,100]。
 第二行有n个[1,10000]范围的整数,整数间用一个空格分隔。

输出格式

 只一个整数,额外消耗的体能数。

输入/输出例子1

输入:

  7
  7  12  8  8  5  6  4

输出:

6

样例解释: (12-7)+(6-5) = 5+1=6

作答区域

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

第12题     看的最远 (课程B)     时限:1s 空间:256m

有N(奇数)只奶牛排成一行,为了安全2头最高大的奶牛排在队伍前端(最左边)和后端(最右边)。这些奶牛不习惯抬头,向前或向后看时,看到有和它同样高或比它高的奶牛就会被挡住视线,它会认为那就是最远的牛。
输入每头奶牛的身高,请问正中间的那头奶牛向前向后看,以为队伍的长度是多少?

输入格式

第一行1个奇整数:N,范围在[3,1000]。
 第2行有N个不同的正整数,范围在[1,1000]。

输出格式

 一个整数,队伍长度。

输入/输出例子1

输入:

9
 20  5  10  4  10  6  1  8  20

输出:

 7
解释:中间第5个高度为10的奶牛,最远只看到前面的高度为10的第3只奶牛和后面的高度为20的奶牛,以为队伍是 10  4  10  6  1  8  20

作答区域

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

第13题     滑雪 (课程B)     时限:1s 空间:256m

输入 N个不同的整数,记录了滑雪线路的地形高度。要求先从前面走到最高点,再开始向后滑雪,滑雪中如果遇到某个的地形比前面的地形高,就会停止,求滑了多少距离?

输入格式

第一行1个整数n,范围在[1,100]。
第二行有n个[1,10000]范围的整数,整数间用一个空格分隔。

输出格式

只一个整数,滑雪的距离。

输入/输出例子1

输入:

8
 7  12  8  6  5  4  9  1

输出:

5
 

样例解释

样例解释:最高点是第2个数据12,滑到第7个数据9停止(9比前面的4大),7-2=5。

作答区域

 
#include<bits/stdc++.h>
using namespace std;
long long n,a[200],maxx=0,maxi,ans=1;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        if(a[i]>maxx)maxx=a[i],maxi=i;
    }
    for(int i=maxi;i<n;i++)
    {
        if(a[i]>a[i+1])ans++;
        else break;
    }
    cout<<ans;
    return 0;
}

第14题     double定义与小数输出     时限:1s 空间:256m

#include<bits/stdc++.h>

using namespace std;

int a,b; //定义整型变量a,b ,,可存储整数 

double c,d; //定义双精度浮点型变量c,d ,,可存储小数 

int main()

{

a=2;

b=3;

c=1.9;

d=2.5;

cout<<a+b; //输出a+b的值 

cout<<endl; //换行 

cout<<fixed<<setprecision(2)<<c+d;

// <<fixed<<setprecision(n) 控制输出n个小数 

return 0;

}

输入格式

东方博宜OJ       问题列表-东方博宜OJ

完成以下题目::能做多少就做多少!!加油,老师相信你是最棒的!

Snipaste_2020-12-29_08-22-55.png

提醒::该网站为其他地区的网站,学校没有管理权,如果你忘记密码,是没有办法找回的!!!教师是不能帮你重置密码的!!

输出格式

提醒::该网站为其他地区的网站,学校没有管理权,如果你忘记密码,是没有办法找回的!!!教师是不能帮你重置密码的!!

勤思考,多练习!

输入/输出例子1

输入:

提醒::该网站为其他地区的网站,学校没有管理权,如果你忘记密码,是没有办法找回的!!!教师是不能帮你重置密码的!!

输出:

提醒::该网站为其他地区的网站,学校没有管理权,如果你忘记密码,是没有办法找回的!!!教师是不能帮你重置密码的!!

注:此题无解答,只是让你们熟悉一下  double定义与小数输出  而已!!!

第15题     平均分     时限:1s 空间:256m
有N个学生考了OI测试,请编程帮助老师统计有多少学生没有达到平均分?

输入格式

一行1个正整数:N,范围在[1,100]。
 第二行N个整数:学生的成绩,每个数范围在[0, 600]。

输出格式

一个整数,表示有多少学生的分数没有达到平均分。

输入/输出例子1

输入:5
 100  200  300  400  500

输出:

2

作答区域

 
#include<bits/stdc++.h>
using namespace std;
long long n,a[200],s1;
double s;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        s=s+a[i];
    }
    s=s/n;
    for(int i=1;i<=n;i++)
        if(a[i]<s)s1++;
    cout<<s1;
    return 0;
}

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

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

相关文章

《QT实用小工具·六十六》基于QT开发的界面收缩栏

1、概述 源码放在文章末尾 该项目实现了一个界面收缩栏的效果&#xff0c;该收缩栏包含如下功能&#xff1a; 1、可以在收缩栏中添加若干个界面 2、鼠标点击收缩栏可以展开或收起界面 3、鼠标拖动收缩栏可以和其他界面互换位置 项目demo演示如下所示&#xff1a; 使用方式&…

时隔1年,我终于弄懂了Java 中的 AOP操作

1. AOP概述 2. AOP快速入门 依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId><version>${spring-boot.version}</version></dependency> 示例:记…

【爬虫软件】2024最新短视频评论区抓取工具

一、背景说明 1.0 采集目标 采集DOU音评论数据对引流截流和获客有很多好处。首先&#xff0c;通过分析DOU音评论数据&#xff0c;我们可以更好地了解用户对于产品或内容的喜好和需求&#xff0c;从而调整营销策略&#xff0c;吸引更多用户关注和点击。其次&#xff0c;评论数据…

C++学习/复习6---内存管理(数据的位置/大小)/new、delete/内存相关面试题(malloc与new/内存泄漏)

一、内存中区域 1.不同数据的存储位置 2.数据占用内存大小 二、动态内存函数 三、new与delete 1.操作内置类型 2.操作自定义类型 四、operator new与operator delete 1.底层源码&#xff08;malloc/free&#xff09; 2.内置/自定义与构造和析构 3.举例 五、定位new表达式 1.举…

【C++】多态:编程中的“一人千面”艺术

目录 一、多态的概念二、多态的定义及实现1.多态的构成条件2.虚函数的重写2.1 什么是虚函数&#xff1f;2.2 虚函数的重写是什么&#xff1f;2.3 虚函数重写的两个例外2.4 C11 override 和 final2.5 重载、覆盖(重写)、隐藏(重定义)的对比 三、抽象类3.1 概念3.2 接口继承和实现…

H3CNE-8-ARP工作原理

ARP&#xff1a;Address Resolution Protocol 通过目的IP地址请求对方的MAC地址的过程。 数据链路层在进行数据封装时&#xff0c;需要目的MAC地址。 arp -a 查看 arp -d * 清空 主机A发送一个数据包给主机C之前&#xff0c;首先要获取C的MAC地址 数据封装

前后端项目部署和解决跨域

文章目录 一.前端项目部署1.1 上传前端文件1.2 项目部署1.3 解决跨域1.3.1 什么是跨域1.3.2 配置文件 二.后端项目部署2.1 上传后端文件2.2 项目部署2.3 解决跨域 一.前端项目部署 1.1 上传前端文件 站点创建好了&#xff0c;进入到站点的目录。 然后把它默认的文件删掉。 你…

心电信号降噪方法(滤波器/移动平均/小波等,MATLAB环境)

对于一个正常的、完整的心动周期&#xff0c;对应的心电图波形如下图所示&#xff0c;各个波形都对应着心脏兴奋活动的生理过程&#xff0c;包含P波&#xff0c;PR段&#xff0c;QRS波群&#xff0c;ST段&#xff0c;T波&#xff0c;U波。 &#xff08;1&#xff09;P波心电图中…

PG实践|PostgreSQL的安装和配置

&#x1f4eb; 作者简介&#xff1a;「六月暴雪飞梨花」&#xff0c;专注于研究Java&#xff0c;就职于科技型公司后端工程师 &#x1f3c6; 近期荣誉&#xff1a;华为云云享专家、阿里云专家博主、腾讯云优秀创作者、ACDU成员 &#x1f525; 三连支持&#xff1a;欢迎 ❤️关注…

【Java面试】五、MySQL篇(下)

文章目录 1、事务的特性2、并发事务问题3、事务的隔离级别4、undo log 和 redo log4.1 底层结构4.2 redo log4.3 undo log 5、MVCC5.1 隐式字段5.2 undo log 版本链5.3 ReadView5.4 ReadView的匹配规则实现事务隔离 6、MySQL的主从同步原理7、分库分表7.1 垂直分库7.2 垂直分表…

[NISACTF 2022]easyssrf、[NISACTF 2022]level-up

[NISACTF 2022]easyssrf 使用dirsearch扫描后没发现什么路径 尝试访问127.0.0.1&#xff0c;成功了 访问127.0.0.1/flag.php提示有文件/fl4g 使用file://协议读取文件/fl4g&#xff0c;提示除此页面外还有一个ha1x1ux1u.php页面。 file:///fl4g 直接访问&#xff0c;发现GET…

C++240527

定义自己的命名空间 my_sapce&#xff0c;在 my_sapce 中定义 string 类型的变量 s1&#xff0c;再 定义一个函数 完成 对字符串的逆置 。 #include <iostream>//导入 标准命名空间&#xff0c;cout 和 endl 标识符 存在于标准命名空间中 using namespace std;//定义了自…

C++ 函数模板与模板函数

一 代码重用技术 函数 类与对象 继承与派生 多态&#xff08;函数重载、运算符重载、虚函数、纯虚函数与抽象类&#xff09; 泛型程序设计 通用的代码需要补受数据类型的影响&#xff0c;并且可以自动适应数据类型的变化&#xff0c;这种程序设计类型称为泛型程序设计。 二 模…

特殊矩阵的压缩矩阵

目录 前提条件&#xff1a; 类型&#xff1a;对称矩阵&#xff0c;三角矩阵、三对角矩阵、稀疏矩阵 1&#xff1a;对称矩阵&#xff1a; 定义&#xff1a;n阶矩阵A 中任意一元素都有ai,jaj,i(1<i,j<n) 图像&#xff1a; 表达式&#xff1a; 计算过程&#xff1a; …

类 和 对象(二)

构造方法 接上篇&#xff0c;若每次都想下面的setDate方法给对象初始化&#xff0c;未免比较麻烦&#xff0c;那有什么方法可以让初始化更加简便呢&#xff1f; public void setDate(int year, int month, int day){this.year year;this.month month;this.day day;}答&#…

服务器端口号,如何避免与公共端口冲突

首先&#xff0c;我们需要明确什么是服务器端口号。服务器端口号是计算机操作系统分配给网络应用程序的一个数字标识&#xff0c;用于区分不同的网络服务。每个网络服务都需要一个唯一的端口号来进行标识&#xff0c;以便在通信过程中能够准确找到对应的服务。 为了避免与公共端…

恒创科技:Linux 服务器和 Windows 服务器哪个更好?

选择正确的服务器系统至关重要&#xff0c;目前广泛使用的选项是 Windows 服务器 和 Linux 服务器&#xff0c;它们各有优缺点。本文将比较 Linux 与 Windows 服务器&#xff0c;让我们来看看它们的主要区别&#xff0c;然后再决定哪种操作系统适合使用。 主要区别&#xff1a;…

Windows下mingw32编译ffmpeg5.1.4实现rtsp拉流

由于客户要求&#xff0c;要在Windows下使用mingw32编译&#xff0c;去ffmpeg.org下载需要编译的版本&#xff0c;使用msys2方法进行编译&#xff0c;使用QT5.10的编译器&#xff0c;基本上把网上的方法试了个遍&#xff0c;编译全部库总是报错出问题 查看了ffbuild文件夹中con…

Mac 电脑给android手机传输文件提示 No android device found

在开发过程中&#xff0c;我们有时候会有在电脑和手机之间传输文件的需求。 Mac电脑给android手机传输文件并不是很方便。 Google 官方提供了一个软件叫Android File Transfer&#xff0c;这个软件免费且好用。 Android File Transfer下载地址 但是使用过程中会遇到一些问题…

Android:使用Kotlin搭建MVI架构模式

一、简介MVI架构模式 M&#xff1a;Model 数据层&#xff0c;包含应用数据和业务逻辑V&#xff1a;View 界面层&#xff0c;在屏幕上显示应用数据&#xff0c;包含与界面相关的状态和界面逻辑&#xff0c;根据界面状态对象更新UI&#xff0c;界面状态定义是不可变的。这样的主要…