PTA 一维数组 7-3 删除指定数据
在一列数据中,删除指定的值。输出每次删除后的数列。若数列中无待删除数据,则输出原数列。输入格式:在第1行输入一个整数n(0<n<=1000),表示数据个数;在第2行输入n个整数,以空格分隔;在第3行输入整数m,表示需要删除的值。输出格式:每次删除后,输出删除后的数列,每个数据后有一个空格。每行输出一次删除后结果。若数列中无待删除数据,则输出原数列。输入样例 1:105 8 7 12 1
·
在一列数据中,删除指定的值。输出每次删除后的数列。若数列中无待删除数据,则输出原数列。
输入格式:
在第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++;}}}

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)