一个整型数组有10个元素,编写程序删除所有值为n的元素。

要求(1)主函数完成n的输入,数组元素输入以及删除后数组元素的输出。(2)删除功能用子函数完成。... 要求(1)主函数完成n的输入,数组元素输入以及删除后数组元素的输出。

(2)删除功能用子函数完成。
展开
 我来答
琉璃易碎smile
推荐于2018-05-09 · TA获得超过1.6万个赞
知道大有可为答主
回答量:4789
采纳率:92%
帮助的人:319万
展开全部

代码如下:

#include <stdio.h>

#include <string.H>

char *fun(char a[])

{

    int i,j,k=strlen(a);

    char n;

    printf("请输入您要删除的数");

    fflush(stdin);

    scanf("%c",&n);

    for(i=0;i<k;i++)

    if(a[i]==n)

    {

        for(j=i;j<k;j++)

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

        k--;

        i--;

    }

    return a;

}

int main()

{

    char a[81];

    printf("请输入要输入的数组元素:\n");

    scanf("%s",a);

    printf("删除后的数组顺序为%s",fun(a));

}

程序运行截图如下:

若栖寻尽0l
2014-12-07 · TA获得超过334个赞
知道小有建树答主
回答量:148
采纳率:100%
帮助的人:121万
展开全部
#include<stdio.h>

int fun(int arr[],int res[],int n)
{
int i,num=0;
for(i=0;i<10;i++)
if(n!=arr[i])
res[num++]=arr[i];
return num;
}

int main()
{
int res[10],arr[10];
int num,n,i;
scanf("%d",&n);
for(i=0;i<10;i++)
scanf("%d",&arr[i]);
num=fun(arr,res,n);
for(i=0;i<num;i++)
printf("%d ",res[i]);
return 0;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
康小神
2015-10-13 · 超过52用户采纳过TA的回答
知道小有建树答主
回答量:87
采纳率:0%
帮助的人:50.9万
展开全部
for(int i=1;i<=10;i++)
    if(a[i]==10)a[i]=-1;
//在此程序中我做了一个flag,即-1表示元素为空
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式