|
![]() | 作者: ive [ive]
![]() |
登录 |
有一维数组解决如下问题。读取20个在10到100之间的不重复的整数。每读取 一个值时,如果它与已读取的值不重复,就打印出该值。用尽可能小的数组解决这 个问题。 拜托啦! |
地主 发表时间: 12/09 14:42 |
![]() | 回复: honyry [honyry] ![]() |
登录 |
题意不太明白哦!能不能举例说一下啊? |
B1层 发表时间: 12/09 15:04 |
![]() | 回复: kenter1643 [kenter1643] ![]() |
登录 |
int a[19];i,j; printf("%d",&a[0]); for(i=0;i<20;i++) for(j=i+1;j>0;j--) {if(a[j]==a[i+1]) return; else printf("%d",&a[i]); } 你的意思说的不清楚,我乱做了个,假设数组原先有元素的 [此贴被 kenter1643(kenter1643) 在 12月09日15时33分 编辑过] |
B2层 发表时间: 12/09 15:33 |
![]() | 回复: honyry [honyry] ![]() |
登录 |
main() {int a[20],temp,j=0,i=1; while(i<=20) { scanf("%d",&temp); if(temp>=100&&temp<=10) return; for(j=i-2;j>=0;j--) if(temp==a[j]) return; i++; a[i-1]=temp; } for(i=0;i<20;i++) printf("%d ",a[i]); } 这个满足条件吗? 有自动判断不符合条件功能!不过数组的地址操作有点记不清了。 |
B3层 发表时间: 12/09 16:18 |
![]() | 回复: lwei889 [lwei889] ![]() |
登录 |
看了楼上的程序,才明白楼主的题说的是什么意思 但我发现楼上的程序有点毛病: if(temp>100&&temp<10)这个条件能同时成立吗? 另外 这个程序好象不能满足楼主的题目要求哦!! |
B4层 发表时间: 12/10 14:01 |
![]() | 回复: spirn [spirn] ![]() |
登录 |
题目要求用尽可能是数组,而且数字>10<100,所以定义char[],用int就太大了。一共输入20个数字,判断重复只要19个数组,而不是20个,所以 定义数组应该是 char a[19] |
B5层 发表时间: 12/10 16:58 |
![]() | 回复: 286 [unique] ![]() |
登录 |
TO sprin: “尽可能小”你的理解很不错,不过我的理解是元素尽可能少。如果尽可能少(又必须得用)的话,用int也可以。因为数值小于100,所以一个int可以表示多个值。比如低两位表示一个,百位和千位表示一个,万位和十万位表示一个。 当然,这种越做越复杂的方式只是想想,还是别作的好。 ![]() ![]() ![]() |
B6层 发表时间: 12/11 09:59 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号