目 录CONTENT

文章目录

C语言程序设计:14.一维数组操作

李航
2025-12-02 / 0 评论 / 15 点赞 / 403 阅读 / 0 字

C语言程序设计:一维数组操作

1. 引入

在C语言中,数组是一种基本的数据结构,用于存储相同类型的元素。数组的操作包括对数组元素的添加修改查询以及遍历,这些操作对于数组的管理和数据处理至关重要。本篇将详细讲解一维数组的相关操作,包括如何向数组添加数据、修改数据、查询数据以及遍历数据。


2. 一维数组基础

一维数组的定义格式为:

type array_name[array_size];
  • type:数组中存储元素的数据类型(如 intfloat 等)。
  • array_name:数组的名称。
  • array_size:数组的大小,表示可以存储多少个元素。

例子:

int arr[5];  // 定义一个存储5个整数的数组

3. 一维数组的常见操作

3.1 添加数据

在C语言中,通过数组下标添加元素。

示例:

#include <stdio.h>
int main() {
    int nums[5];
    nums[0]=3;
    nums[1]=7;
    nums[2]=8;
    nums[3]=9;
    nums[4]=10;//添加完数据之后 nums的值是:nums[5]={3,7,8,9,10}
    return 0;
}

输出:

3,7,8,9,10

3.2 修改数据

修改数组元素的值,只需通过数组的索引访问指定位置的元素,并赋予新的值即可。

示例:修改数组中的指定元素

#include <stdio.h>

int main() {
    int arr[5] = {10, 20, 30, 40, 50};

    // 修改第3个元素(索引为2)
    arr[2] = 100;


    return 0;
}

输出:

10 20 100 40 50

3.3 查询数据

根据数组下标获取元素。查找数据。例子: 1.查找nums2数组下标为4的数据
语法: 数组名[下标]

示例:查找数组中元素

#include <stdio.h>

int main() {
	int nums2[5]={1,3,5,7,9};
	printf("查找nums2数组下标为4的数据:%d\n",nums2[4]);//9

    return 0;
}

输出:

9

3.4 遍历数组

遍历数组是指逐一访问数组中的所有元素。通常通过循环结构来实现遍历操作。

示例:遍历数组并打印所有元素

#include <stdio.h>

int main() {
    int arr[5] = {10, 20, 30, 40, 50};

    // 遍历数组并输出每个元素
    printf("数组的所有元素是:\n");
    for (int i = 0; i < 5; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    return 0;
}

输出:

数组的所有元素是:
10 20 30 40 50

4. 总结

添加数据:

可以通过将新元素添加到数组的末尾来实现数据的添加,注意数组的大小是固定的,因此需要管理有效元素的个数。

修改数据:

修改数据的过程非常简单,直接通过数组的索引访问并赋值即可。

查询数据:

查询数据通常通过遍历数组来查找目标值,如果找到则返回其索引,否则返回未找到的标志值(如 -1)。

遍历数组:

遍历数组是通过循环访问数组中的每一个元素,常用于输出或对每个元素进行处理。


5. 练习题

1. 题目:编写一个程序,查询数组中的最大值,并输出它的位置。

答案:

#include <stdio.h>

int main() {
    int arr[5] = {10, 50, 30, 70, 40};
    int max = arr[0], position = 0;

    for (int i = 1; i < 5; i++) {
        if (arr[i] > max) {
            max = arr[i];
            position = i;
        }
    }

    printf("最大值是:%d,位置是:%d\n", max, position);
    return 0;
}

2. 题目:编写一个程序,修改数组中的指定位置的元素,并输出修改后的数组。

答案:

#include <stdio.h>

int main() {
    int arr[5] = {1, 2, 3, 4, 5};
    int index = 2, new_value = 100;  // 修改第3个元素(索引为2)

    // 修改元素
    arr[index] = new_value;

    // 输出修改后的数组
    for (int i = 0; i < 5; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    return 0;
}

3. 题目:编写一个程序,添加一个元素到数组中,并输出添加后的数组。

答案:

#include <stdio.h>

int main() {
    int arr[6] = {10, 20, 30, 40, 50};  // 定义数组大小为6
    int n = 5;  // 当前有效元素的个数
    int new_value = 60;  // 新添加的元素

    // 添加元素
    if (n < 6) {
        arr[n] = new_value;
        n++;
    }

    // 输出添加后的数组
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    return 0;
}

4.循环输入6个成绩,保存在数组中。求最高成绩、最低成绩、平均成绩、总成绩和。

#include "stdio.h"
main(){
	float scores[6],max,min,avgScore,sumScore=0;
	int i,j;
	for(i=0;i<=5;i++){
		printf("请输入第%d个数据:\n",i+1);
		scanf(" %f",&scores[i]);
		sumScore+=scores[i];
	}
	max=scores[0];//最高成绩
	min=scores[0];//最低成绩
	for(j=0;j<=5;j++){
		if(scores[j]>=max){//求最大值
			max=scores[j];
		}
		if(scores[j]<=min){
			min=scores[j];
		}
	}
	avgScore=sumScore/6;
	printf("最高成绩:%.2f\n",max);
	printf("最低成绩:%.2f\n",min);
	printf("平均成绩:%.2f\n",avgScore);
	printf("总成绩是:%.2f\n",sumScore);

}

5.输入10个字母(字母的范围是a b c d) 求 a b c d字母的个数

#include "stdio.h"
main(){
    char zimu[10];//保存字母
	int a=0,b=0,c=0,d=0;
	int i,j;
	for(i=0;i<=9;i++){
		printf("请输入第%d个字母\n",i+1);
		scanf(" %c",&zimu[i]);
	}
	//统计
	for(j=0;j<=9;j++){
		if(zimu[j]=='a'){
			a+=1;
		}
		if(zimu[j]=='b'){
			b+=1;
		}
		if(zimu[j]=='c'){
			c+=1;
		}
		if(zimu[j]=='d'){
			d+=1;
		}
	}
	printf("a的个数:%d\n",a);
	printf("b的个数:%d\n",b);
	printf("c的个数:%d\n",c);
	printf("d的个数:%d\n",d);


}


通过以上示例,你应该能掌握如何在C语言中使用一维数组进行常见操作,如添加、修改、查询和遍历。继续练习将帮助你更好地理解和应用这些基本概念。

15

评论区