标题:帮看一下呗。利用数组编写程序,实在不会了
只看楼主
k3552
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2022-4-17
结帖率:66.67%
已结贴  问题点数:20 回复次数:3 
帮看一下呗。利用数组编写程序,实在不会了
删除整数:假设整数数组a[10]中,存在与整数x相同的数据,其中数组a和x均为用户输入,则完成以下功能:

(1)将数组a中与x相同的所有数据,除第一个之外,全部删除;如果只有一个(或没有)相同的数据,则保持数组a不变。

(2)输出删除后的数组a。
有人可以帮一下吗。谢谢

[此贴子已经被作者于2022-4-24 17:01编辑过]

搜索更多相关主题的帖子: 数组 编写程序 整数 相同 数据 
2022-04-21 13:43
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
得分:7 


//使用标志法,把重复的赋值为0,打印时过滤掉,形成表面上的删除
#include <stdio.h>
#define N 10
int main(void)
{
    int i,flag=0;
    int a[N],x;
    for(i=0;i<N;i++)
        a[i]=0;
    printf("please input datas for array a[10]:");
    for(i=0;i<N;i++)
        scanf("%d",&a[i]);
    printf("please input the data of x:");
        scanf("%d",&x);
    i=0;
    while(1)
    {
        if(x==a[i]){
            if(flag==1){
               a[i]=0;
            }
         flag=1;         
        }
        i++;
        if(i>N) break;
    }

    for(i=0;i<N;i++)
    {   
        if(a[i]!=0)
        printf("%d ",a[i]);
    }
    return 0;
}

学C语言从底层开始,学编程从问题开始,一日学会C!!!
2022-04-26 13:42
yehay
Rank: 1
等 级:新手上路
帖 子:1
专家分:7
注 册:2022-4-26
得分:7 
int main()
{
/*

*/
int i,j,k,x;//J:第一个=x的数组元素下标
int ch[10];   
printf("input x:\n");
scanf("%d",&x);
printf("input ch[]:\n");
for(i=0;i<10;i++)
    scanf("%d",&ch[i]);
   
for(i=0;(i<10)&&(ch[i]!=x);i++)//查第一个 =x的元素
    j=10;
j=i;
for(i=j+1;(i<10)&&(ch[i]!=x);i++)
    k=10;
k=i;
if (k<10)//若有第二个值 =x
    {
    for(i=0;i<j;i++)
        ch[i]=0;
    for(i=j+1;i<10;i++)
        ch[i]=0;
    }
for(i=0;i<10;i++)//打印数组元素值
    printf("ch%d=%d\n",i,ch[i]);
}
2022-04-26 20:13
不会游泳的虾
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:101
专家分:643
注 册:2021-7-1
得分:7 
供参考:
程序代码:
#include <stdio.h>
#define N 10
int main()
{
    int i, j, x, a[N],flg;
    printf("Input %d numbers:", N);
    for (i = 0; i < N; i++)
        scanf("%d", &a[i]);
    printf("x=");
    scanf("%d", &x);
    for (i = j = 0, flg = 0; i < N; i++)
        if (a[i] - x)
            a[j++] = a[i];
        else {
            if (flg == 0)
                a[j++] = a[i];
            flg++;
        }
    printf("删除%d后的数组:\n", x);
    for (i = 0; i < j; i++)
        printf("%4d", a[i]);
    printf("\n");
    return 0;
}


[此贴子已经被作者于2022-4-27 17:07编辑过]

2022-04-27 16:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-508897-1-1.html




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

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