顺序表的数据元素的类型为整型,初始输入若干个数据元素,可以有相同值,删去值为 x 和 y 的数据元素。
输入描述:输入初始数据元素的个数 n ,占一行 输入 n 个初始数据元素,以空格隔开,占一行 输入 x 和 y,以空格隔开;
输出描述:输出删去 x 和 y 后的数据元素,以空格隔开,最后一个元素后面有空格;若删除后顺序表为空,则输出“顺序表已为空”。
输入样例1:
10
1 5 6 8 7 8 6 8 4 8
8 6
输出样例1:
1 5 7 4
输入样例2:
5
6 8 6 8 6
8 6
输出样例2:
顺序表已为空
补全如下代码
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i, temp, j, m, m1, m2;
int m3 = 0;
scanf("%d", &m);
int *a = (int*) malloc(m * sizeof(int));
for(i = 0; i < m; i++)
{
scanf("%d", &a[i]);
}
scanf("%d %d", &m1, &m2);
//删除元素m1、m2
/***********Begin***********/
/************End************/
free(a);
return 0;
}
都是数组的遍历问题,代码如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i, temp, j, m, m1, m2;
int m3 = 0;
scanf("%d", &m);
int *a = (int*) malloc(m * sizeof(int));
for(i = 0; i < m; i++)
{
scanf("%d", &a[i]);
}
scanf("%d %d", &m1, &m2);
//删除元素m1、m2
/***********Begin***********/
j=0;
for(i=0;i<m;i++)
{
if(a[i]!= m1 && a[i]!=m2)
{
a[j] = a[i];
j++;
}
}
if(j==0)
printf("顺序表已为空");
else
for(i=0;i<j;i++)
printf("%d ",a[i]);
/************End************/
free(a);
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!【相关推荐】