- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编程题9删除所有相同值元素
名称编程题9:删除所有相同值的元素备注描述9.从键盘输入整型一维数组中a中的各元素(以元素0结束,0是最后一个有效果元素,元素个数不超过20个),再输入一个待删除的整数。先输出删除前的所有数组元素。从数组中删除所有的元素值等于该整数的元素,如果元素不存在,则输出提示信息:does not exist,no operating! 否则输出删除后的所有数组元素
说明:(1)数组的定义:int a[20];
(2)应该用一个变量存储实际有效果的元素个数(含0)
(3)元素的输出用%5d的格式控制
(4)scanf之前不能用printf输出提示信息
测试用例:输入 测试用例:输出 2 3 4 5 3 2 0 回车
4 回车 Before delete,elements are:
2 3 4 5 3 2 0
After delete,elements are:
2 3 5 3 2 02 3 4 2 0 回车
5 回车 Before delete,elements are:
2 3 4 2 0
does not exist,no operating!2 3 3 4 3 5 3 7 0 回车
3 回车
Before delete,elements are:
2 3 3 4 3 5 3 7 0
After delete,elements are:
2 4 5 7 0此题与程序5.11相比,最主要的区别在于,在删除了一个元素之后,还需要继续比较寻找是否存在下一个待删除的元素。本题元素的输入采用输入为0结束的方式,变量total存储了真正有效的元素个数。外层for语句控制比较每一个元素,内层由两个并列的循环组成,while循环用来寻找下一个值等于x的元素,如果不存在,则i等于total,此时应当结束外层for循环,不再查找,否则,用第二层的for循环实现元素移位,覆盖待删除的元素。这时有效果元素个数减1,因此一层循环的最后要有total--语句,最后的i--是因为回到for语句的时候表达式3将自动执行i++,这里做一次自减1使i保持原值,以正确处理出现连续相等的待删除元素的情况。?在保存并预览之后,点开:“测试用例”选项卡,再选择下方的“添加”,加入三组测试用例第一个测试用例的“测试输入”中,加入:
2 3 4 5 3 2 0
4
“期待的输出”中,加入:
Before delete,elements are:
2 3 4 5 3 2 0
After delete,elements are:
2 3 5 3 2 0
第二个测试用例的“测试输入”中,加入:
2 3 4 2 0
5
“期待的输出”中,加入:
Before delete,elements are:
2 3 4 2 0
does not exist,no operating!
第三个测试用例的“测试输入”中,加入:
2 3 3 4 3 5 3 7 0
3
“期待的输出”中,加入:
Before delete,elements are:
2 3 3 4 3 5 3 7 0
After delete,elements are:
2 4 5 7 0参考源程序代码?#include stdio.h
int main( )
{
int a[20];
int i=0,j,x,total=0,s=0;
do
{ scanf(%d,a[i++]);
}while(a[i-1]);
s=total=i;
scanf(%d,x);
printf(Before delete,elements are:\n);
for (i=0;itotal;i++)
printf(%5d,a[i]);
printf(\n);
for (i=0;itotal;i++)
文档评论(0)