PTA 一维数组 7-3 删除指定数据

该代码示例演示了如何在C++中读取数列,删除指定值并按行输出删除后的数列。程序首先读取数列的长度、数列元素和要删除的值,然后检查数列中是否有待删除的数据。如果没有,则直接输出原数列;如果有,则逐次删除并打印更新后的数列。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在一列数据中,删除指定的值。输出每次删除后的数列。若数列中无待删除数据,则输出原数列。

输入格式:

在第1行输入一个整数n(0<n<=1000),表示数据个数;

在第2行输入n个整数,以空格分隔;

在第3行输入整数m,表示需要删除的值。

输出格式:

每次删除后,输出删除后的数列,每个数据后有一个空格。

每行输出一次删除后结果。

若数列中无待删除数据,则输出原数列。

输入样例 1:

10
5 8 7 12 17 15 3 7 7 10
7

输出样例 1:

5 8 12 17 15 3 7 7 10 
5 8 12 17 15 3 7 10 
5 8 12 17 15 3 10 

输入样例 2:

10
5 8 7 12 17 15 3 7 7 10
6

输出样例 2:

5 8 7 12 17 15 3 7 7 10 

示例答案:

#include<stdio.h>
int main(){
	int num,a[1000],dele,valid,i,k,out,cn=0;
	scanf("%d",&num);
	for(i=0;i<num;i++){
		scanf("%d",&a[i]);}
	scanf("%d",&dele);
	for(i=0;i<num;i++){
		if(a[i]==dele)cn++;}
	if(cn==0){
		for(i=0;i<num;i++){
		printf("%d ",a[i]);}
	}
	else{
	for(k=0,valid,out=1;k<cn;k++){
		valid=out;
	for(i=0;i<num;i++){
		if(a[i]==dele&&valid!=0){
			valid--;
			continue;}
		if(a[i]!=dele||valid==0){
			printf("%d ",a[i]);}}
	printf("\n");out++;}}}

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值