题目内容:
请使用指针的方法编写程序,程序的功能是先输入10个整数存储到数组a中,再输入一个指定的数x,把数组中的x数据删除掉,并保证数组中剩余的数还是连续存储的。
比如输入10个整数:3 2 8 6 5 8 7 9 8 5,存入数组,然后输入一个数8,把数组中的8全部删除。最后数组中剩下的数:3 2 6 5 7 9 5,在数组a中还是连续存储的。
要求定义函数实现删除功能:int del_num(int *p, int n, int x);其中函数的返回值为删除指定数后数组中剩余数据的个数。
输入格式:
输入10个整数,和1个指定数。
输出格式:
输出剩余数,以空格隔开,最后一个数后面没有空格。
输入样例:
3 2 8 6 5 8 7 9 8 5
8
输出样例:
3 2 6 5 7 9 5
时间限制:500ms内存限制:32000kb
#include<stdio.h>
int del_num(int* p, int n, int x) {
int b[10], * q, count = 0;
for (q = p;q < p + 10;q++) {
if (*q == x) {
continue;
}
else {
b[count++] = *q;
}
}
for (int i = 0;i < count;i++) {
if (i == count - 1) {
printf("%d", b[i]);
}
else {
printf("%d ", b[i]);
}
}
return count - 1;
}
int main()
{
int a[10], x;
for (int i = 0;i < 10;i++) {
scanf("%d", &a[i]);
}
scanf("%d", &x);
del_num(a, 10, x);
}
该博客介绍如何利用指针技巧编写程序,从输入的10个整数数组中删除指定数值x,同时保持剩余元素连续存储。通过del_num函数实现,并给出了输入输出样例和代码实现。
&spm=1001.2101.3001.5002&articleId=124663908&d=1&t=3&u=4e89ce1ee51d47b5a2824e10e3d990fd)
1337

被折叠的 条评论
为什么被折叠?



