Problem E: 零起点学算法84——数组中删数II
分析
对于从一组数中确定地删除某些数字,可以通过判断,然后创建另一个数组,将想要保留的数字都保留下来就好了。
Description
在给定的数组中删除数
Input
多组测试,每组第一行输入1个整数n(n<20),然后是n个整数 第二行输入1个整数m
Output
删除在第一行的n个整数中的数字m(多个的话都要删除),然后按照顺序输出剩下的数,
Sample Input
5 1 2 3 4 3
3
Sample Output
1 2 4
#include<stdio.h>
int main()
{
int n,a[20],b[20],i,flag=1;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
int m,j=0;
scanf("%d",&m);
for(i=0;i<n;i++)
{
if(m!=a[i])
{
b[j]=a[i];
j++;
}
}
if(j==0)
printf("\n");
else
{
for(i=0;i<j-1;i++)
{
if(flag)
{
printf("%d",b[i]);
flag=0;
}
else
printf(" %d",b[i]);
}
printf("%d\n",b[j-1]);
}
}
return 0;
}
总结
1、对于格式问题注意分开表达。
2、主义转换数组的思想。