您的位置:首页 > 其它

从数组中删除指定的值

2015-07-11 11:56 218 查看
#include <stdio.h>

int main(int argc, const char * argv[]) {

    int a[100];

    int i, n = 0,b , c = 0 ,j;

    printf("输入数组的大小:\n");

    scanf("%d",&n);

    for (i = 0; i < n; i++) {

        scanf("%d",&a[i]);

    }

    printf("输入一个指定的值:\n");

    scanf("%d",&b);

    for (i = 0; i < n; i++) {//找到指定值的坐标

        if (a[i] == b) {

            c = i;//返回到c

        }

    }

    for (j = c; j < n-1 ; j++) {//这个必须要减一,因为长度为n,下标只能取到倒数第一位,而j只能取到倒数第二位,因为下句还有j+1,如果n不减一的话,那么j+1就不是最后一位了,就会出现下标越界的错误

        a[j] = a[j+1];

    }

    n --;//数组的长度减一,如果不减一则会出现最后的值出现两次的现象,达不到要的效果

     printf("删除后的数组是:\n");


    for (i = 0; i < n; i++) {

        printf("%d\t",a[i]);

    }

   

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: