【C】数组是什么?本篇文章让你有一个清晰的认识,不再害怕数组 您所在的位置:网站首页 啥叫企业代码 【C】数组是什么?本篇文章让你有一个清晰的认识,不再害怕数组

【C】数组是什么?本篇文章让你有一个清晰的认识,不再害怕数组

#【C】数组是什么?本篇文章让你有一个清晰的认识,不再害怕数组| 来源: 网络整理| 查看: 265

学生的学籍号、棒球选手背后的号码,还有飞机的作为号码……在生活中我们经常会遇到相同类型的事务聚在一起的情况,与其逐一叫出它们的名字,还不如统一使用号码更加简单明了。 本篇博客将会为大家介绍为了提高处理效率而把具有相同类型的数据有序地组织起来的一种形式——数组。

数组

相同类型的变量的集合,放在一起处理比较方便。这种情况下可以使用数组。

数组

一次输入5名学生的分数,显示出他们的总分和平分,代码如下:

#include int main() { int stu1 = 0; int stu2 = 0; int stu3 = 0; int stu4 = 0; int stu5 = 0; int sum = 0; printf("请输入5名学生的分数:"); printf("1号:"); scanf("%d", &stu1); sum += stu1; printf("2号:"); scanf("%d", &stu2); sum += stu2; printf("3号:"); scanf("%d", &stu3); sum += stu3; printf("4号:"); scanf("%d", &stu4); sum += stu4; printf("5号:"); scanf("%d", &stu5); sum += stu5; printf("总分:%d", sum); printf("平均分:%.1lf", (double)sum / 5); return 0; }

如果学生更加的多呢,比如300人,那是不是需要创建300个变量,这样的话不仅会使写程序的效率降低,还会出现变量名的错误。 综上所说我们可以使用数组来解决,因为是同一类型的变量。

数组的声明

数组的声明通过指定元素类型、变量名、元素个数来进行。另外,【】中的元素个数必须是常量。 数组

访问数组

数组a的各个元素,都是int类型的对象。不允许一些元素是int类型,一些元素是bouble类型。 对于数组而言各个元素的访问都是自由的,访问元素是根据下标来的,下标表示该元素的首元素之后的第几个元素,而不是数组中的第几个元素。 下标运算符; a[b] 从数组a的首元素算起,访问b个元素后的元素。 第一个元素的下标为0,因此将从第一个元素开始依次访问a[0]、a[1]、a[2]、a[3]、a[4]。 元素个数为n的数组的各个元素是a[0]、a[1]、……a[n-],不存在a[n]。

遍历数组

创建一个元素类型为int,包含5个元素的数组,依次把1、2、3、4、5赋给它们并显示,代码如下:

#include int main() { int v[5]; v[0] = 1; v[1] = 2; v[2] = 3; v[3] = 4; v[4] = 5; printf("v[0]=%d\n", v[0]); printf("v[1]=%d\n", v[1]); printf("v[2]=%d\n", v[2]); printf("v[3]=%d\n", v[3]); printf("v[4]=%d\n", v[4]); return 0; }

这样还看不出数组的优势,下面是通过for循环简化的代码:

#include int main() { int i = 0; int v[5]; for ( i = 0; i printf("%d ", v[i]); } return 0; }

通过for循环的处理,使的程序更加的简单了。 下面我们来看看double类型的数组赋值,代码如下:

#include int main() { int i = 0; double x[7]; for ( i = 0; i printf("%lf ", x[i]); } return 0; }

运行结果; image.png

数组初始化

在声明变量的时候,除了的确没有必要的情况下,都要对变量进行初始化。 输出的初始化: int a[3]={1,2,3} 数组的初始值就是那些在大括号中的、用逗号分开并逐一赋值给各个元素的值。 来看下下面的代码:

#include int main() { int i = 0; int v[5] = { 1,2,3,4,5 }; for ( i = 0; i int i = 0; int a[5] = { 17,23,36 }; int b[5]; for ( i = 0; i printf("%d %d", a[i],b[i]); } }

运行结果: image.png 程序中的第一个for语句,其作用是把a中全部元素的值依次赋给b中的元素。 C语言不支持使用基本赋值运算符=为数组赋值,就是说下面的语句是错误的: b=a;

输入数组元素的值

从键盘输入数组的值,输入int[5]数组的各元素的值并显示的程序如下代码:

#include int main() { int i = 0; int x[5]; for ( i = 0; i printf("x[%d]=%d\n", i, x[i]); } return 0; }

运行结果: image.png

对数组的元素进行倒序排列

如果仅仅是输入并显示元素的值,那并没有意思。下面我们对数组进行倒序排序,代码如下:

#include int main() { int i = 0; int x[7]; for ( i = 0; i int temp = x[i]; x[i] = x[6 - i]; x[6 - i] = temp; } puts("倒序排序了。"); for ( i = 0; i int i = 0; int tensu[5]; int sum = 0; printf("请输入5名学生的分数。\n"); for ( i = 0; i int i = 0; int tensu[NU]; int sum = 0; printf("请输入%d名学生的分数。\n",NU); for (i = 0; i int i = 0; int tensu[NU]; int max = 0; int min = 0; printf("请输入%d名学生的分数\n", NU); for ( i = 0; i if (tensu[i] > max) { max = tensu[i]; } if (tensu[i] int i = 0; int j = 0; int num = 0; int tensu[NU]; int bunpu[11] = {0}; printf("请输入学生人数:"); do { scanf("%d", &num); if (numNU) { printf("\a请输入1~%d的数:", NU); } } while (numNU); printf("请输入%d人的分数。\n", num); for ( i = 0; i scanf("%d", &tensu[i]); if (0 > tensu[i] || 100 putchar('*'); } putchar('\n'); for ( i = 9; i >= 0; i--) { printf("%d-%d:", i * 10, i * 10 + 9); for ( j = 0; j


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有