2018212745段修泉 数组

小编 2026-06-23 阅读:1909 评论:0
            第八章 数组 对于一组同类型数据进行处理,不可能逐个用字母去命名,为此我们引入了数组,用一个字符和一组下标来表示一组数据,从而简化了数据的命名,并且能有序的对数据进行处理,对数据...

 

          第八章 数组

对于一组同类型数据进行处理,不可能逐个用字母去命名,为此我们引入了数组,用一个字符和一组下标来表示一组数据,从而简化了数据的命名,并且能有序的对数据进行处理,对数据进行输入和输出。

1.一维数组:用一个字符做数组名,用一组下标作为顺序记录各个元素便构成了一维数组,格式为score[a] 其中a必须为数字或者常量字符,a代表数组元素的个数,正真元素为从score[0]到score[a-1]

2.二维数组:可以理解为以数组为元素的数组,即用两个下标表示不同的元素,可以表示更多的数据使数据更具格式化,行列分明。

3.字符数组:字符和字符串为元素的数组,输入一般使用gets() 下标代表字符串中各个元素,字符串以\\0为结束符。

4.输入输出:字符的输入和输出一般用循环语句来进行,通过控制某个变量的变化,让变量作为数组的下标,从而对数组元素进行赋值和输出等处理。

利用数组可以解决一系列问题,尤其是对于一些有规律的数和矩阵问题,在数学方面也有很大的用处如

1)用模拟法进行只有两种情况的数据得处理

#include<stdio.h>

int main(){

int score[99999],a[999],b[999],i,j,l,m,sum=0;

scanf(\"%d %d\",&l,&m);

for(i=0;i<=l;i++)

{

score[i]=1;

}

for(j=1;j<=m;j++)

{

scanf(\"%d %d\",&a[j],&b[j]);

for(i=a[j];i<=b[j];i++)

{

score[i]=0;

}

}

for(i=0;i<=l;i++)

{

sum=sum+score[i];

}

printf(\"%d\",sum);

}

2)对矩阵中的元素进行处理,寻找或增减某些元素

#include<stdio.h>

int main(){

int k=0,t,s,i,j,a[6][6],m,d;

for(i=1;i<=5;i++)

for(j=1;j<=5;j++)

scanf(\"%d\",&a[i][j]);

for(i=1;i<=5;i++){

    m=a[i][1];d=1;s=0;

    for(j=1;j<=5;j++)

        if(a[i][j]>m)

        {m=a[i][j];

        d=j;}

    for(t=1;t<=5;t++){

    if(a[t][d]>=m)s++;

    else break;}

if(s==5)

{

printf(\"%d %d %d\\n\",i,d,a[i][d]);k++;}

}

if(k==0)printf(\"not found\\n\");

return 0;

}

3)设计一些简单的游戏,如扫雷等

#include<iostream>

using namespace std;

int main()

{

 int n,m,i,j,sum=0;

 char a[999][999];

 cin>>n>>m;

 for(i=1;i<=n;i++)

  for(j=1;j<=m;j++)

  cin>>a[i][j];

 for(i=1;i<=n;i++)

 {

  for(j=1;j<=m;j++)

  {

   sum=0;

   if(a[i][j]==42) cout<<\'*\';

   else

   {

          if(a[i-1][j-1]==42) sum++;

   if(a[i-1][j]==42) sum++;

   if(a[i-1][j+1]==42) sum++;

   if(a[i][j-1]==42) sum++;

   if(a[i][j+1]==42) sum++;

   if(a[i+1][j-1]==42) sum++;

   if(a[i+1][j]==42) sum++;

   if(a[i+1][j+1]==42) sum++;

    cout<<sum;

   }

  }

  cout<<endl;

 }

 return 0;

}

数组作为C语言的一个利器,合理使用,许多复杂的问题均可迎刃而解,但是对于细节处理要求特别高,如数组越界等问题都会让数组使用出现错误,所以必须多多使用总结才能更好的使用数组。

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
标签列表