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
能不能补全呀!
追答给你写了一下,因为你要一行全部输入所有数字,所以用gets来获取输入流,然后程序里对其进行处理。代码已经验证过了,可以正确运行。其中没有加防错机制。
#include
#include
int main(void)
{
int i=0,j=0;
char n='0',m='0';
char input[100],num[50];
printf("请按照格式输入:");
gets(input);
printf("请按照要删除的数字:");
m=getchar();
while(n<input[0]) //
{
if(input[i+2] != m)
{
num[j] = input[i+2];
j++;
}
i+=2;
n++;
}
for(i=0;i<j;i++)
{
printf("%c ",num[i]);
// putchar(' ');
}
system("pause");
return 0;
}