#include <stdio.h>
main()
{
int arr[] = {88, 77, 44, 66, 99};
int count;//数组的长度
int i,j;
int deletenum; //输入要删除的数字
int deleteposition = -1;//要删除数字的下标
//int judgment = -1;//判断条件
int insertnum; //要插入的数字
//从大到小输出,冒泡排序
count = sizeof(arr) / sizeof(arr[0]);
for(i = 0; i < count - 1; i++)
{
for(j = 0; j < count - 1 - i; j++)
{
int t = 0;
if(arr[j] < arr[j + 1])
{
t = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = t;
}
}
}
//输出数组中的每个元素
for(i = 0; i < count; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
//删除其中一个元素
printf("请输入要删除的数字:");
scanf("%d", &deletenum);
for(i = 0; i < count; i++)
{
if(deletenum == arr[i])
{
deleteposition = i; //记录下标的位置
break;
}
}
if(deleteposition == -1)
{
printf("抱歉,没有找到你要删除的数字,请重试!\n");
}
else
{
for(i = deleteposition; i < count - 1; i++)//从删除下表的那个元素开始位移
{
arr[i] = arr[i + 1];//把后面的值赋给前面的元素
}
count--;//删除数组后,数组总长度-1
printf("删除后的数列为:\n");
for(i = 0; i < count; i++)//输出数组删除后的元素
{
printf("%d ", arr[i]);
}
printf("\n");
//在数组中插入一个元素
printf("请输入你要插入的数字:");
scanf("%d", &insertnum);
arr[count] = insertnum;//将插入的数字给数组的最后一个元素
count++;//插入数字后,数组总长度+1
printf("插入数字后的数列为:\n");
for(i = 0; i < count; i++)//输出数组插入数字后的元素
{
printf("%d ", arr[i]);
}
printf("\n");
//插入数字的元素从大到小输出
printf("将新的数组从大到小排列:\n");
for(i = 0; i < count - 1; i++)
{
for(j = 0; j < count - 1 - i; j++)
{
int s = 0;
if(arr[j] < arr[j + 1])
{
s = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = s;
}
}
}
for(i = 0; i < count; i++)
{
printf("%d ", arr[i]);
}
}
return 0;
}
删除数组其中一个元素 并添加一个元素
最新推荐文章于 2023-10-28 11:03:54 发布