c语言如何输入一个数删除数组中所有的与这个数相同的数?是所有的。

急急急,谢谢了。

给你一个思路吧,先构建一个新数组吧b[],再用循环语句搜索你原先的数组(设为a[]),判断它的每一个元素是否等于需要去掉的数(设为del),如果不等于这个数del,将数组a的值赋给赋给数组b,,如果等于需要去掉的数del,跳过这个数,即不把它赋给数组b,最后数组b就是你想要的结果
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-12
#include <stdio.h>

void fun(int *a,int *p2n,int del)
{
int *p=a,n=*p2n,i;
for(i=0;i<n;++i)
{
if(*p!=del)
{
*a++=*p;
}
else
{
--*p2n;
}
p++;
}
}

int main(void) 
{
int a[]={0,0,1,2,3,4,5,6,7,8,9},n,del,i;
n=sizeof(a)/sizeof(a[0]);
del=0;
fun(a,&n,del);
for(i=0;i<n;++i)
{
printf("%d\n",a[i]);
}
return 0;
}

第2个回答  2013-12-12
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
void main(void){
int a[20]={0,1,2,3,4,4,3,4,5,6,7,11,23,2345,56,45,3,23,45,67};
int b[20],i,j,n;
printf("Type a number...\nn=");
scanf("%d",&n);
for(j=i=0;i<20;i++)
if(a[i]!=n) b[j++]=a[i];
for(i=0;i<j;printf("%d ",b[i++]));
printf("\n");
}本回答被网友采纳
第3个回答  2013-12-12
int *delete(int * ar,int len,int n)

{
    int i,k;
    for(i=0;i<len;i++)
    {
        if(ar[i]==n)
        for(k=i;k<len;k++)
            ar[k]=ar[k+1];
     }
     return ar;
}

相似回答