C语言高手进来下 谢谢

[复制链接]
查看11 | 回复3 | 2009-4-7 00:21:00 | 显示全部楼层 |阅读模式
问题是在一维数组的数据中找出指定数据(key),显示其首次出现的位置
main()
{static int a[]={1,2,5,7,11};
int i,kry;
printf("key data?");
scanf("%d",&key);
for(i=0;i5)
printf("not search\n");
else
printf("search point=%d\n",i);
}
书上答案是break
我的问题是:1,为什么填break?

2,题到低是什么意思?没读懂题,题中的key到底是什么?变量?还是别的什么数据?首次出现的位置又只什么?

3,题中printf("key data?");这句到底是什么意思?起的作用是什么?为什么看好多题中都有这种语句?这个语句跟最后的结果有关系吗?
答的好的话我会给您加分的 谢谢了!~

回复

使用道具 举报

千问 | 2009-4-7 00:21:00 | 显示全部楼层
1,因为找到一个就必须中断循环,否则会继续找下去,那么找到的就不是“首次”出现的位置了。2。意思是,你输入一个key值,然后查找a数组中第一次出现这个值的位置,如果没有找到,就会输出,"no search" 如果找到,输出位置。key是整数变量,你上面定义的那句写错了,应该是 int i,key ; 而不是 int i,kry ;首次出现的位置,就是第一次出现这个数的数组下标,因为你这里没有重复值,所有不知道,如果有重复值的话,就可以判断出来了。3。输出 一句话:key data? ,提示你输入一个数据,如果你编译一下,自己运行一遍就知道了。跟结果没有必然关系,但如果不提示,一个黑屏摆在你面前,你会知道程序下一步执行什么么?所有...
回复

使用道具 举报

千问 | 2009-4-7 00:21:00 | 显示全部楼层
1.break即如果在一维数组中找到相应的值,即马上退出循环,此时的i就是找到在一维数组中的值的索引或者说是下标。2.题目的意思是让你输入一个数字,然后查找其是否在一维数组中,如果在,就找出其下标,不在,就输出没有找到。key就是你输入的任意的数字,是你要查找的数据,首次出现的位置,即第一次在数组中出现的位置,3.key data是提示你输入你要查找...
回复

使用道具 举报

千问 | 2009-4-7 00:21:00 | 显示全部楼层
我的问题是:1,为什么填break? 只要求找到第一个,找到了,停止循环就是了。所以用此,表示跳出循环。然后循环中下面的语句就不执行了。2,题到低是什么意思?没读懂题,题中的key到底是什么?变量?还是别的什么数据?首次出现的位置又只什么? key只是一个变量名。你变量声明的地方打错了,应该是“ing i,key;”。可以叫其他名字,...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行