C语言:有一个已排好序的数组,要求删除一个数后,还按原来的规律排好

[复制链接]
查看11 | 回复0 | 2013-6-1 04:47:01 | 显示全部楼层 |阅读模式
||
知道
C语言:有一个已排好序的数组,要求删除一个数后,还按原来的规律排好 33 分钟前| 来自| 分类:提问者采纳 24 分钟前 #include stdio.h voiddel(int*a,intx,intn)//删除数组a中第x个数,n是数组大小{ inti; for(i=0;i i++) { if((i+1)==x) { for(intj=i;j j++) a[j]=a[j+1]; break; } }}voidmain(){ inta[10]={0,1,2,3,4,5,6,7,8,9}; inti; for(i=0;i i++) printf( %d ,a); printf( \\\\ndel(a,4,10); for(i=0;i i++) printf( %d ,a); printf( \\\\n }追问 能不能弄的一行一行的,这样看起来有点乱。 回答 什么一行一行的? 追问 就是往电脑上不太好输 回答 你是要输代码么?直接复制就可以了 追问 嗯,输代码 评论|
|来自团队 |采纳率58%擅长: 按默认排序| 其他2条回答 19 分钟前|九级 /*12 23 34 45 56 67 78 89 9012 34 45 56 67 78 89 90Press any key to continue*/#include stdio.h #include stdlib.h //删除第一个等于Num的数组元素,成功返回1,否则返回0intEraseNum(inta[],intn,intnum){ inti,j; for(i=0;i n;++i){ if(a==num){ for(j=i;j n-1;++j) a[j]=a[j+1]; return1; } } return0;}voidShow(inta[],intn){ inti; for(i=0;i n;++i) printf( %d ,a); printf( \\\\n }intmain(void){ inta[]={12,23,34,45,56,67,78,89,90}; intn=sizeof(a)/sizeof(a[0]); Show(a,n); intres=EraseNum(a,n,23); if(res)--n; Show(a,n); return0;} 评论| 31 分钟前|六级 查找可以二分查找,找到后删除,然后后面的往前移动 评论| 等待您来回答 3回答1回答 150回答2回答 0回答1回答0回答2回答 分享到:
普通登录 手机登录
帐号 密码 验证码 看不清? 记住我的登录状态
还没有百度账号? 123
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行