一道关于c语言代码的题目,求大佬指点迷津

定义一个可以保存10个元素的一维数组,从终端输入10个元素,实现一个函数可以删除数组中指定的元素,如果不存在,提示删除失败!要求有函数设计。输出删除后数组中元素的值。这题... 定义一个可以保存10个元素的一维数组,从终端输入10个元素,实现一个函数可以删除数组中指定的元素,如果不存在,提示删除失败!要求有函数设计。输出删除后数组中元素的值。这题的代码应该怎么写? 展开
 我来答
梅_少
2021-03-15
知道答主
回答量:28
采纳率:33%
帮助的人:7万
展开全部
#include <stdio.h>
/*如果用数组的话必须设置一个元素代表删除的数这里用"-1",链表的话就不用了删除直接释放内存就好*/
void CreatArray();
int FindNum();
void PrintNum();

int num[10] = { 0 };//初始化数组

int main()
{
CreatArray();
if (FindNum() == 1)
PrintNum();
else
printf("查找失败,没有这个元素!");
getchar();
return 0;
}

void CreatArray()
{
printf("输入10位数:");
for (int i = 0; i < 10; i++)
scanf("%d", &num[i]);
}

int FindNum()
{
int m = 0;//查找失败返回值
int x;
printf("输入你要查找的元素:");
scanf("%d", &x);
for (int i = 0; i < 10; i++)
{
if (num[i] == x)
{
for (; i < 9; i++) //删除的数之后的数往前移
num[i] = num[i + 1];
num[i] = -1;
m = 1;
}
}
return m;
}
void PrintNum()
{
printf("删除后的数为:");
for (int i = 0; i < 10; i++)
{
if (num[i] == -1)
break; //如果找到-1结束查找
else
printf("%d ", num[i]); //打印-1之前的元素
}
printf("\n");
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式