题目
本题是中国海洋大学2022年研究生入学考试930程序设计基础编程题第4题。
题目:
(1)定义一个函数delete,其功能是从a数组中删除与n相等的数
(2)在主函数中调用这个函数,并且将删除n后的数组输出(15分)
以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同进步。——来自考研路上的lwj。QQ:2394799692
一、解题思路
1,定义数组并赋值然后定义并输入n的值
2,传入delete函数进行处理
3,delete采用两次for循环对相同的数进行删除(通过覆盖进行删除掉这个数)
4,在主函数中输出操作完后的数组。
二、代码部分
1.引入库
代码如下(示例):
#include<stdio.h>
2.主函数部分
代码如下(示例):
int i,j,x;
void delete(int a[], int n)
{
x = 10;
for (i = 0; i < x; i++)
if (a[i] == n)
{
for (j = i; j < x - 1; j++)
{
a[j] = a[j + 1];
if (a[j] == n)
{
i--;//防止相邻两个等于n的数在一起无法删除第二个数
break;
}
}
x--;
}
}
void main()
{
int a[10];
printf("请输入10个数:\n");
for (i = 0; i < 10; i++)
scanf("%d", &a[i]);
printf("请输入n的值:");
int n;
scanf("%d", &n);
delete(a, n);
printf("经过处理后的数组为:\n");
for (i = 0; i < x; i++)
printf("%d ", a[i]);
}
三、执行结果
输入:
请输入10个数:
1 2 3 4 5 6 7 8 9 9
请输入n的值:9
输出:
经过处理后的数组为:
1 2 3 4 5 6 7 8
四、个人感想
难易程度:中等偏上
删除当前数这一点不是简简单单置为0,而是要通过覆盖进行删除掉这个数。