首页 > 其他分享 >Lab1:数据组织基础方法及创新应用(基础)

Lab1:数据组织基础方法及创新应用(基础)

时间:2023-10-10 20:01:02浏览次数:40  
标签:初始化 定义 nxt int ll 基础 Lab1 数组 数据组织

1.数组定义及简单使用

1)分别定义一个 int 型一维数组和二维数组,并通过输出验证各种初始化方法;

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int INF = 0x3f3f3f3f,N=5;
int a[15],b[15][15];
void work1() //循环初始化数组 
{
  for(int i=1;i<=N;i++) a[i]=1;
  for(int i=1;i<=N;i++) 
  	for(int j=1;j<=N;j++) b[i][j]=2;
  for(int i=1;i<=N;i++) printf("a[%d]=%d\n",i,a[i]);
  for(int i=1;i<=N;i++) 
  	for(int j=1;j<=N;j++) printf("b[%d][%d]=%d\n",i,j,b[i][j]);
}
void work2() //memset函数初始化数组 
{
  memset(a,-1,sizeof(a));
  memset(b,0,sizeof(b));
  for(int i=1;i<=N;i++) printf("a[%d]=%d\n",i,a[i]);
  for(int i=1;i<=N;i++) 
  	for(int j=1;j<=N;j++) printf("b[%d][%d]=%d\n",i,j,b[i][j]);
}
void work3() //直接初始化数组 
{
  int t[15]={0};
  int x[15][15]={0,0,1,1,1,1};
  for(int i=1;i<=N;i++) printf("t[%d]=%d\n",i,t[i]);
  for(int i=0;i<=N;i++) 
  	for(int j=0;j<=N;j++) printf("x[%d][%d]=%d\n",i,j,x[i][j]);	
}
int main()
{
  work1();
  work2();
  work3();
  return 0; 
}

分别用三种方法初始化数组,详见注释。
其中需要注意的是,a[10]={} 这种初始化方法只能在定义数组的时候使用,已经声明的数组不可以这样赋值。
其中第三种初始化方法,二维数组初始化若不全部给出,则后面的数组元素均为 \(0\)
部分输出如下:
image
image

2)定义 int,char 一维数组,键盘输入并输出。

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int INF = 0x3f3f3f3f;
inline ll read()
{
  ll ret=0;char ch=' ',c=getchar();
  while(!(c>='0'&&c<='9')) ch=c,c=getchar();
  while(c>='0'&&c<='9') ret=(ret<<1)+(ret<<3)+c-'0',c=getchar();
  return ch=='-'?-ret:ret;
}
int a[11];
char c[11]; 
int main()
{
  for(int i=1;i<=10;i++) a[i]=read(); //快速读入 
  cin>>c;
  for(int i=1;i<=10;i++) cout<<a[i]<<' ';
  cout<<c;
  return 0;
}

使用了快速读入
输出如下:image

2.结构体定义及简单使用

1)定义结构体,初始化,输出验证

2)定义结构体,输入数据,输出验证

#include<bits/stdc++.h>
using namespace std;
struct edge{int nxt,to,w;}a;
int main()
{
	//初始化结构体 
	a.nxt=1,a.to=2,a.w=3;
	printf("%d %d %d\n",a.nxt,a.to,a.w);
	//输入结构体 
	cin>>a.nxt>>a.to>>a.w;
	printf("%d %d %d\n",a.nxt,a.to,a.w);
	return 0;
}

image

指针定义及简单使用

标签:初始化,定义,nxt,int,ll,基础,Lab1,数组,数据组织
From: https://www.cnblogs.com/conprour/p/17755544.html

相关文章

  • Pytest测试框架基础及进阶
    Pytest测试框架基础Pytest测试框架介绍Pytest是Python一款三方测试框架,用于编写和运行单元测试、集成测试和功能测试。Pytest测试框架具有简单、灵活、易于扩展等特点,被广泛应用于Python项目的测试工作中。Pytest主要特点:简单易用:Pytest测试框架的API简单易用,可以快速编写测......
  • tar命令的基础使用(笔记)
    tar命令的基础使用tar[选项][文件]基本操作exam:tar-cfarchive.tarfoobar#归档tar-tvfarchive.tar#列出归档tar-xfarchive.tar#解包选项作用-c创建-t列出归档内容-f指定文件-x从归档中解出文件-v显示更多......
  • 通俗理解GAN -- 基础认知
     Smiling&Weeping----你已春风摇曳,我仍一身旧雪 1.GAN的基本思想GAN全称对抗生成网络,顾名思义是生成模型的一种,而他的训练则是一种对抗博弈状态中的。下面我们举例来解释一下GAN的基本思想。假如你是一名篮球运动员,你想在下次比赛......
  • 踏上软件基础道路
    这个作业属于哪个课程https://edu.cnblogs.com/campus/zjlg/23rjjsjc这个作业的目标<介绍自己>姓名-学号<俞轶钻>-<2021330301030>我叫俞轶钻,我喜欢阅读悬疑科幻小说,目前我是一个普通的在校大学生,学习着不感兴趣的感兴趣的各种内容,在这近两年的时间里,我掌握了C......
  • MySQL基础命令
    一)基础命令1)对数据库的操作1.使用use库名;2.创建createdatabase库名;3.删除dropdatabase库名;4.显示数据库,表showdatabases;showtables;2)对数据表的操作1.创建表createtable表名(字段字段类型,idint,namevarchar(32));2.删除表droptable表名;3.修改表名altertable......
  • Eureka基础
    学习自:Eureka入门教程-基础篇|Clay的技术空间Eureka入门教程-知乎Eureka之使用详解_eureka使用-CSDN博客16图|实战Eureka集群搭建+服务注册+调用-知乎k8s发布Springcloud+eureka架构服务优雅启动停止方案-枫&vce-博客园1、简介CAP定理在了解Eureka之前......
  • 前端面试八股文 工程化+性能优化+计算机基础
    前端面试八股文工程化+性能优化+计算机基础前端页面性能如何优化?以下是一些前端性能优化的常用方法:减少资源加载时间:这可以通过多种方式实现,比如压缩和合并CSS和JavaScript文件,使用CDN(内容分发网络)来快速传输资源,以及使用浏览器缓存来避免重复下载。优化图片:图片通常是网页......
  • 逆向基础知识
    逆向基础知识1.逆向分析HelloWorld程序源码#include<Windows.h>#include<stdio.h>intmain(intaggc,TCHAR*argv[]){MessageBox(NULL,L"HelloWorld!",L"www.baidu.com",MB_OK);return0;}2.查找main函数......
  • Babel基础知识
    Babel中文官网Babel入门教程-阮一峰Babel博客教程-姜瑞涛Bilibili--系列Babel视频学习教学1.介绍1.1简介Babel是一个JavaScript编译器。Babel是一个工具链,主要用于将采用ECMAScript2015+语法编写的代码转换为向后兼容的JavaScript语法,以便能够运行在当前和旧......
  • CS144-lab1
    Checkpoint1Writeup该lab要根据首字母索引来对收到的字符串进行重组,还原为原始数据(字符串可能乱序到达,可能有重叠)思路是将按顺序并小于可用容量的字符串(可能是部分子串)直接推流到输出流,将失序但在可用容量内的字符串放入本地buffer。考虑到最好用首字符索引对收到的字符......