| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1115 人关注过本帖
标题:数组的删除问题
只看楼主 加入收藏
frecklesss
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2020-3-17
结帖率:71.43%
收藏
已结贴  问题点数:10 回复次数:3 
数组的删除问题
知道怎么找数组中的指定数,怎么能按这个要求改呢?
题目是这样的:
图片附件: 游客没有浏览图片的权限,请 登录注册


代码:
#include<stdio.h>
int Search(int a[], int n, int x);
void main(){
    int a[10],i,m,x,n;
    printf("Input 10 numbers:\n");
    for(i=0;i<10;i++){
        scanf("%d",&a[i]);
    }
    printf("Input x:\n");
    scanf("%d",&x);
    m=Search(a,n,x);
    if(m==-1)
        printf("Not found!");
    else
        printf("Subscript of x is %d\n",m);
}
int Search(int a[], int n, int x){
    int i;
    for(i=0;i<10;i++){
        if(a[i]==x)
            return i;
    }
    return -1;
}


[此贴子已经被作者于2020-6-17 23:09编辑过]

搜索更多相关主题的帖子: Search 删除 printf int 数组 数组 删除 printf int Search 
2020-06-17 19:18
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
收藏
得分:4 
n是啥?

梦想拥有一台龙芯3A-4000
2020-06-18 00:58
八画小子
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:37
帖 子:709
专家分:2063
注 册:2010-11-11
收藏
得分:4 
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

#define ARRAY_SIZE    10

int main(void)
{
    int array[ARRAY_SIZE];
    int x;

    printf("Input %d numbers: ", ARRAY_SIZE);
    for (int i = 0; i < ARRAY_SIZE; i++)
    {
        scanf("%d", &array[i]);
    }

    printf("Input x: ");
    scanf("%d", &x);

    int* p = array;
    int* q = array;
    bool get_first = false;
    while (p < array + ARRAY_SIZE)
    {
        if (*p == x)
        {
            if (!get_first)
                get_first = true;
            else
                p++;
        }
        else
        {
            *q++ = *p++;
        }
    }

    p = array;
    printf("[");
    while (p != q)
    {
        printf(" %d", *p++);
    }
    printf(" ]");

    return EXIT_SUCCESS;
}


随手写的代码,可能有错误,大概意思就是这个。
2020-06-18 07:24
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10539
专家分:42927
注 册:2014-5-20
收藏
得分:4 
#include<stdio.h>
int Search(int a[], int n, int x);
int Delch(int a[], int n, int x);
void main()
{
    int a[10],i,m,x,n;
    printf("Input 10 numbers:\n");
    for(i=0; i<10; i++)
    {
        scanf("%d",&a[i]);
    }
    printf("Input x:\n");
    scanf("%d",&x);
    m = Search(a,10,x);
    if (m<10)
    {
        printf("Subscript of x is %d\n",m);
        m = Delch(a,m+1,x);
        for (i=0; i<m; ++i)
            printf("%d ",a[i]);

    }
    else
        printf("Not found!\n");
}
int Search(int a[], int n, int x)
{
    int i;
    for(i=0; i<n && a[i]!=x; ++i);
    return i;
}
int Delch(int a[], int m, int x)
{
    int i,j=m;
    for (i=j; i<10; ++i)
    {
        if (a[i] != x)
            a[j++] = a[i];
    }
    return j;
}
2020-06-18 08:25
快速回复:数组的删除问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016357 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved