首页 > 其他分享 >一维静态数组

一维静态数组

时间:2024-06-21 22:57:36浏览次数:20  
标签:arr 一维 静态 cin int 数组 Typ 输入

数组,拆分就是数的组合,里面可能会出现重复的数字;同时数组分为一维数组和二维数组。我们可以把一维数组理解为一条线,把二维数组理解成一个面。当然,三维数组,甚至四维数组,只要你有能力,都可以
在c++,同样有数组。这次我们讲一维静态数组

语法

定义

Typ arr[n]; //定义一个类型为Typ的数组arr,设置大小为n,并设置每个值为随机数(其实不是随机的)
Typ arr[n] = {}; //定义一个类型为Typ的数组arr,设置大小为n,并设置每个值为0
Typ arr[] = {a1, a2, ..., an}; //定义一个类型为Typ的数组arr,根据被赋值的值的个数来分辨大小

注意:在c++的数组,下标从0开始,假如定义了一个共5项数组arr分别为1, 2, 3, 4, 5。那么1的下标为0,2的下标为1,……,5的下标为4。因此c++中的第n项实际指现实的n-1项

取值 & 赋值

arr[n] //arr的第n项(注意下标,越界(超过定义范围)返回随机数)
arr[n] = Val; //将arr第第n项设置为Val(注意下标)
cin >> arr[n]; //输入arr的第n项
cout << arr[n]; //输出arr的第n项
scanf("Form", arr[n]); //Form是类型,输入arr的第n项
printf("Form", arr[n]); //Form是类型,输出arr的第n项

/*memset函数*/
#include <cstring>
#include <string.h>
#include <memory.h>
/*上面的三个头文件任意选一个*/
memset(arr, Val, sizeof(Typ)); //将Typ类型的数组arr的所有项设置为Val

/*fill函数*/
#include <algorithm> //包含在这个头文件中
fill(arr+n, arr+m, Val); //将数组arr的第n~m项设置为Val(不包含arr的第m项)

注意,用scanf输入数组填充项前不加&,具体原因下辈子讲
sizeof()是一个求类型大小的函数,用法:

sizeof(Typ) //返回Typ所用的字节

输入数组

输入会有两种情况,一是会先输入数组的总项数,再输入数组的各个项;二是直接输入各个项。两种情况一般会在OJ中提到最大项数,两般情况不会提,我们归为第三种

第一种数组输入
#include <iostream>
using namespace std; 
int main() {
	int n, a[最大数]; //定义数组与总项数
	cin >> n; 
	for(int i=0; i<n; i++) //for循环输入
		cin >> a[i]; 
}
第二种数组输入
#include <iostream>
using namespace std; 
int main() {
	int a[最大数]={}, n=0; 
	while(!cin.eof()) { //cin.eof()是一个侦测输入是否结束的函数。运行程序时使用Ctrl+Z表示输入截止符
		cin >> a[n++]; 
	}
}
第三种数组输入
#include <iostream>
using namespace std; 
int main() {
	int n; 
	cin >> n; 
	int a[n] = {}; //贴边定义(根据实际情况)
	for(int i=0; i<n; i++) {
		cin >> a[i]; 
	}
}

三种方式数组中,第二种方式和第一种方式浪费的可能比较多,第三种为0


请添加图片描述点这个东西
在这里插入图片描述还有这个
请添加图片描述散会

标签:arr,一维,静态,cin,int,数组,Typ,输入
From: https://blog.csdn.net/basil221/article/details/139843752

相关文章

  • 【Shell脚本】 Shell索引数组变量:定义-获取-拼接-删除、alisa内置命令、默认输出换行
    目录 Shell索引数组变量:定义-获取-拼接-删除 数组的获取 数组的拼接数组的删除 alisa内置命令默认输出换行语法 read内置命令 declare内置命令获取指定key的值使用declare定义一普通数组,并获取打印元素数据的值 expr命令 算术运算符 布尔运算符 逻辑......
  • pytorch实现:PINN 寻求一维非线性薛定谔方程数值解
    pytorch实现:PINN寻求一维非线性薛定谔方程数值解pytorch实现:PINN寻求一维非线性薛定谔方程数值解1.非线性薛定谔方程2.PINN实例2.1偏微分方程条件2.2损失函数推导2.3损失函数定义3.代码实现4.训练结果5.源代码pytorch实现:PINN寻求一维非线性薛定谔方程数值......
  • 最详细的JS学习笔记(连载)第二章、数组方法(删除)
    数组删除(1)数组.pop() 移除最后一个元素,并返回移除该元素值  参数:无        返回值:被删除的那个元素           原有的数组改变letary=[10,20,30]varres=ary.pop();console.log(res,ary)   //res=>30  ary=>[10,20]基于原......
  • VM配置静态网络
    动态网络:ip动态获取,每次开机不一样静态网络:ip静态固定,每次开机都一样CentOS网卡配置文件路径/etc/sysconfig/network-scripts/ifcfg-ens33配置静态网络1.为防止修改网卡配置文件对以后造成影响,先对文件进行备份cpifcfg-ens33ifcfg-ens33.bak//.bak为备份文件//要在/etc......
  • fortran 数组下标从0还是1开始?
    Fortran语言中,数组的下标是从1开始的,这与许多其他编程语言(如C、Python或Java)将数组下标从0开始的习惯不同。这种从1开始的下标命名方式源于Fortran的历史,当时的记录卡片和编程语言是从1开始编号的。以下是一个Fortran代码示例,展示了如何声明一个数组并使用从1开始的下标:program......
  • Nginx 反向代理 (泛域名->泛域名,https,静态文件)
    Nginx反向代理配置指南(泛域名->泛域名,HTTPS,静态文件)完整版server{#监听80端口listen80;listen443sslhttp2;; #...... #泛域名server_name*.{fromName}.com;#获取"*"参数set$subdm'';if($host~*"(.*......
  • 【鸿蒙实战教程】HarmonyOS中的动态import和静态import的概念与区别
    什么是import鸿蒙核心语言是ArkTs,基于TS的扩展,所以里边少不了JS引擎的影子。    对于鸿蒙而言,我们在文件中引入其他文件时,会涉及到两个概念,静态import和动态import。    什么是引入其他文件呢?例如:import{TestA}from'./TestA'import{hilog}from'@kit......
  • 【C语言初学指导】进阶知识 指针、数组与字符串
    指针指针是一种特殊的变量,它存储的是另一个变量的内存地址,而不是数据值本身。这个地址指向了内存中的一个特定位置,程序可以通过这个地址来访问或修改存储在该位置的数据。举个例子:intvar=10;//假设var住在内存里的101号房间int*ptr=&var;//ptr就是我们......
  • C语言-静态通讯录(全功能)(详略版)
    目录前言:     基本功能:游戏主体: 定义结构体:初始化结构体:添加联系人: 显示通讯录:修改联系人信息:查找联系人:删除联系人:排序通讯录:清空联系人:前言:             大家好,今天写了一个通讯录系统,本程序也是对结构体的考察,我会尽......
  • 实例方法和静态方法:假设类A有如下定义,且a是A类的一个实例,则必定错误的选项是(C)。
    题目假设类A有如下定义,且a是A类的一个实例,则必定错误的选项是(C)。classA{inti;staticStrings;voidmethod1(){}staticvoidmethod2(){}}A.System.out.println(a.i);B.a.method1();C.A.method1();D.A.method2();解析:A、B、D正确,C错误publiccl......