题解 | #序列中删除指定数字#

序列中删除指定数字

http://www.nowcoder.com/practice/7bbcdd2177a445a9b66da79512b32dd7

#include <stdio.h>
int main()
{
  int n, k, x;
  scanf("%d\n", &n);   //输第一行的数字个数n
  int arr[50] = {0};
  for(k=0; k<n; k++)
    scanf("%d ", &arr[k]);   //输入第二行的n个数
  scanf("%d\n", &x);   //输入要删除的数字
  int i=0, j=0;  
   //无论是新定义的变量,还是再次使用前面用过的变量,必须设为0
  while(i<n)
  {
    if(arr[i] != x)   //遇到的不是要删除的数字
        arr[j++] = arr[i++];  //保留在数组中,j+1,再看下一个数
    else
        i++;   //否则不保留
   }
  for(i=0; i<j; i++)   //除去被删元素,只剩下j个元素
     printf("%d ", arr[i]);
  return 0;
}

全部评论

相关推荐

08-20 12:08
门头沟学院 Java
有保底啦!!!
future0210:字节是保底吗[牛泪[笑着活下去]
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
08-08 18:20
职场水母:这题思路是什么,我目前想的一个暴力方法就是先把这个链表遍历一遍,用哈希表存储出现次数,然后再根据哈希表来一个一个删除节点,
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务