首页 > 编程知识 正文

c语言数组定义和赋值,c语言数组初始化

时间:2023-05-05 01:21:42 阅读:135714 作者:2616

数组不擅长插入(添加)和删除元素。 数组的优点是由于是连续的,所以检索数据很快。 但这也是缺点之一。 因为是连续的,所以插入元素时,插入点之后的所有元素都会向后移动。 删除元素时,删除点后,所有元素都会向前移动。

插入算法

#包含

入主(void ) )。

{

inta [ 23 ]={ 1,5,66,8,55,9,1,32,5,65,4,8,5,15,64,156,1564,15,1,8,9,7,215 };

int b[24]; //用于存储插入数字后的新数组,因为插入了另一个值,所以长度为24

索引; //插入值的下标,索引是“下标”的英语单词

int num; //插入的值

int i; //循环变量

printf ('请输入插入值的下标:');

scanf('%d ',Index );

printf ('请输入要插入的数值:';

scanf('%d ',num );

for(I=0; i24; I )

{

if(Iindex )。

{

b[i]=a[i]; /*循环变量I小于插入值位置Index时,各要素所在的位置不变*/

}

elseif(I==index ) )。

{

b[i]=num; //i等于索引时,向数组b分配插入值

}

else

{

b[i]=a[i-1]; /*由于插入了新元素,插入位置后各元素的存储位置将向后移动一个位置*/

}

}

for(I=0; i24; I )

{

printf(%d(x20 ),b[i];

}

打印((n );

返回0;

}

输出结果如下。

请输入要插入的值的下标。 10请输入要插入的值。 22

1 5 66 8 55 9 1 32 5 65 22 4 8 5 15 64 156 1564 15 1 8 9 7 215

删除算法

#包含

入主(void ) )。

{

inta [ 23 ]={ 1,5,66,8,55,9,1,32,5,65,4,8,5,15,64,156,1564,15,1,8,9,7,215 };

int b[22]; /*用于存储删除数字后的新数组。 由于值已被删除,长度为22*/

索引; //要删除的值的下标

int i; //循环变量

printf ('请输入要删除的值的下标:';

scanf('%d ',Index );

for(I=0; i23; I )

{

if(Iindex )。

{

b[i]=a[i]; /*循环变量I小于插入值位置Index时,各要素的存储位置不变*/

}

else

{

b[i]=a[i 1]; /*被删除值后面的所有元素将向前移动一个位置,被删除的值将被直接复盖*/

}

}

for(I=0; i22; I )

{

printf(%d(x20 ),b[i]; //x20表示空格

}

打印((n );

返回0;

}

输出结果如下。

请输入要删除的值的下标: 5

1 5 66 8 55 1 32 5 65 4 8 5 15 64 156 1564 15 1 8 9 7 215

实例

三十七、四十九、五十一、六十一。 设计程序执行一次数组中的数据删除和插入。

getchar ) )函数接收键盘输入:

输入字符' d '时,通过键盘输入数组中存在的整数n,删除数组中存在的整数。 删除后数组的各元素必须按照从小到大的顺序排列。

要求:不使用冒泡法和选择法实现删除数据后的排序操作。

输入字符' I '时,从键盘输入数组中不存在的整数m,将该整数m插入数组中。 插入后数组的各元素必须按照从小到大的顺序排列。

要求:不使用冒泡法和选择法实现数据插入后的排序操作。

输入和输出示例:

数组的排序结果为5、9、11、16、24、34、37、49、51、61

请输入要执行的操作(插入I (并删除) d ):d

请输入要删除的整数: 9

删除后的数组为5、11、16、24、34、37、49、51、61

请输入要执行的操作(插入I (并删除) d ):I

请输入要插入的整数: 13

插入后的数组为5、11、13、16、24、34、37、49、51、61

#包含

int main () )

{

inta [ 10 ]={ 5,9,11,16,24,34,37,49,51,61 };

int i=0,n=0,k=0;

char get;

for(I=0; i 10; I )

printf('=',a[i] );

打印((n );

printf ('请输入所需的操作(' I ',然后删除' d ' );

get=getchar (;

getchar (;

if(get=='d ' )

{

printf ('请输入要删除的整数。 n );

n=getchar (;

getchar (;

n -=48;

for(I=0; i 10; I )

{

if(a(I )==n ) ) ) ) ) ) ) ) ) )。

{

for (; i 10; I )

{

a[i]=a[i 1];

}

a[9]=0;

黑;

}

}

for(I=0; i 9; I )

printf('=',a[i] );

打印((n );

}

printf ('请输入所需的操作(' I ',然后删除' d ' );

get=getchar (;

getchar (;

if(get='I ' ) ) ) )。

{

printf ('请输入要插入的整数。 n );

scanf_s('%d ',n ); //小心陷阱,不能使用getchar ()。 因为13实际上是2个文字,所以回车后,n只吸收了‘1’,所以只能使用scanf_s )。

for(I=0; i 10; I )

{

if(a ) I ) nna ) I1 ) ) ) ) ) if(a ) I ) nna ) I1 ) ) ) ) ) ii ) ii ) nna ) ii ) ii ) ii ) ii ) ii ) ) ii ) ) ii ) ii ) ii ) ii ) ii ) ii ) ii ) ii ) ii ) ii ) ii ) ii ) ii )

{

k=i;

for(I=8; i k; I----)

{

a[i 1]=a[i];

}

a[k 1]=n;

布雷克;

}

}

for(I=0; i 10; I )

printf('=',a[i] );

}

返回0;

}

到此为止,我们已经介绍了有关在C语言数组中添加和删除元素的实现的文章。 有关在更多相关的C语言数组中添加和删除元素的信息,请搜索脚本房屋以前的文章或继续参阅下面的相关文章。 我想今后继续支持脚本屋。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。