Part3.2 数组 引例函数是一组一起执行一个任务的语句。每个 C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数.
在 C 语言中,函数由一个函数头和一个函数主体组成。下面列出一个函数的所有组成部分:
**返回类型:**一个函数可以返回一个值。return_type 是函数返回的值的数据类型。有些函数执行所需的操作而不返回值,在这种情况下,return_type 是关键字 void。**函数名称:**这是函数的实际名称。函数名和参数列表一起构成了函数签名。**参数:**参数就像是占位符。当函数被调用时,您向参数传递一个值,这个值被称为实际参数。参数列表包括函数参数的类型、顺序、数量。参数是可选的,也就是说,函数可能不包含参数。**函数主体:**函数主体包含一组定义函数执行任务的语句。
在之前的学习中,我们知道了如何使用循环计算平均数,但此时并没有记录下每一个数据,如果我们需要在计算平均数后输出大于平均数的数据,此时我们就不得不记录下数据,那如何实现记录这一动作呢?
下面我们引入数组的概念。
首先需要定义数组类型和变量名称,方括号中的数即为该数组中包含元素的数量,我们可以将方括号当作一个下标,若我们需要读取这个数组中第i个数据,则可以用
printf("%d",grade[i]);
来读取此数据,其意思为在grade数组中的第i个数。
代码块#includeATTENTIONint main() { int x; double sum=0; int count=0; int i=0; int number[100]; printf("请输入需要计算平均数的数"); scanf_s("%d",&x); while(x!=-1) { number[count]=x; sum=sum+x; count++; scanf_s("%d",&x); } double average=0; average=sum/count; printf("这些数的平均数为%lfn",average); //遍历数组 for(i=0;i average) { printf("%dt",number[i]); } } return 0; }
在定义总和sum和平均数average时需要用double进行定义。
统计个数 代码块#includeint main() { int const NUMBER=10 int x; int count[NUMBER]; int i=0; for(i=0;i =0&&x<=9) { count[x]++; } scanf_s("%d",&x); } for(i=0;i 数组集成初始化 对数组赋值的一些方法 int a[13]={2}; int b[]={1,2,4,5,6,7,8,8}; int c[6]={[0]=1,[2]=3,4};第一种赋值的结果是除了数组中的第一个数是2外其他都是0;
所以初始化数组可以用该方法。
第二种赋值的结果是数组按大括号中的数排序;
第三种赋值的结果是数组第一位的数为0,第三位第四位分别是3和4,其他位数均为0。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iXfc5NA3-1648448533912)(D:学习C语言数组集成初始化.png)]
用sizeof计算数组中的元素个数int a[]={1,3,5,7,8,2,7,9,5,3}; printf("%lu",sizeof(a)/sizeof(a[0]));定位 函数与数组混合做一个简单的查询,输入数字查询这个数在程序中的第几位。
代码块#include二维数组//一个简单的搜索程序 int main(void) { int a[] = { 1,2,3,4,5,6,7,8,9,10,11,12,13}; int x; printf("请输入需要查找位置的数字"); scanf_s("%d", &x); int position = 0; position = search(x, a, sizeof(a) / sizeof(a[0])); if (position != -1){ printf("%d在第%d位", x, position + 1); } else{ printf("这个数不存在"); } return 0; } int search(int key, int a[], int length) { int ret = -1; int i = 1; for (i = 0; i < length; i++) { if (a[i] == key) { ret = i; } } return ret; } int a[3][5]={ {1,2,3,4,5}, {1,2,3,4,5}, {1,2,3,4,5} }这里我们定义了一个三行五列的数组,就相当于在一个3×5的矩阵里放进以上的数据。
二维数组的遍历for(i=0;i



