| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1050 人关注过本帖
标题:这个程序有什么问题吗?
只看楼主 加入收藏
不惑不获
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-3-17
收藏
 问题点数:0 回复次数:22 
这个程序有什么问题吗?

#include<stdio.h>
main()
{
int array[10]={1,0,4,8,12,65,-76,100,-45,123};
int location;
int i;
printf("\n输入你要查找的数值:");
scanf("%d",&location);
for (i=0;i<10;i++)
if (array[i]=location)
{
printf("%d在数组里\n",location);
}
else
{
printf("%d不在数组里\n",location);
}
}
好象无论如何结果都是在数组中,那里出了问题吗?

搜索更多相关主题的帖子: include 
2006-03-19 19:22
cxwl3sxl
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:495
专家分:129
注 册:2005-11-12
收藏
得分:0 
if (array[i]=location)
应该是if (array[i]==location)

努力,哈哈,总有一天会变成高手~~~~~~因为我相信:没有办不到,只有想不到!http://t..cn/fpress
2006-03-19 19:45
spp509
Rank: 1
等 级:新手上路
威 望:1
帖 子:98
专家分:0
注 册:2005-11-23
收藏
得分:0 
if (array[i]==location)吧
好长时间没看C了,语法有点忘了

一听就懂,一看就会,一做就错……
2006-03-19 19:53
spp509
Rank: 1
等 级:新手上路
威 望:1
帖 子:98
专家分:0
注 册:2005-11-23
收藏
得分:0 
晕,这么巧.....

一听就懂,一看就会,一做就错……
2006-03-19 19:53
baifenghan
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:258
专家分:952
注 册:2006-3-17
收藏
得分:0 
这个程序有什么问题吗?

#include<stdio.h>
main()
{
int array[10]={1,0,4,8,12,65,-76,100,-45,123};
int location;
int i;
printf("\n输入你要查找的数值:");
scanf("%d",&location);
for (i=0;i<10;i++)
if (array[i]=location)
{
printf("%d在数组里\n",location);
}
else
{
printf("%d不在数组里\n",location);
}
}
好象无论如何结果都是在数组中,那里出了问题吗?


回答:
看划红线那一行,应改为"if(array(i)==location)",接下来程序是可以运行,但是输出不是很清楚,有12行。可以说明一个数在不在这个数组的范围内,但不好哦!我改了一下,如下,请试着运行一下:
#include<stdio.h>
main()
{
int array[10]={1,0,4,8,12,65,-76,100,-45,123};
int location;
int i;
printf("\n输入你要查找的数值:");
scanf("%d",&location);
for (i=0;i<10;i++)
if (array[i]==location) printf("%d在数组里\n",location);

for (i=0;i<10;i++)
if (array[i]!=location && i==9) printf("%d不在数组里\n",location);
/*最后一个还不是就输出没有,i==9用于证明已经是最后一个*/

}

2006-03-19 20:13
haishanglang
Rank: 1
等 级:新手上路
帖 子:378
专家分:0
注 册:2006-3-2
收藏
得分:0 

2006-03-19 21:29
cxwl3sxl
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:495
专家分:129
注 册:2005-11-12
收藏
得分:0 
其实只需要知道"="是赋值"=="是数学里面的"="好就行了

努力,哈哈,总有一天会变成高手~~~~~~因为我相信:没有办不到,只有想不到!http://t..cn/fpress
2006-03-19 21:33
不惑不获
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-3-17
收藏
得分:0 

又试验了好久,还是无法清楚判辨再这个数组里和不在这个数组里,不过最后还是做出来了,不过不完整,我加了continue,变得简单了,却少了“不在数组里”,遗憾,还望各位大侠指导。
程序如下:
#include<stdio.h>
main()
{
int array[10]={1,0,4,8,12,65,-76,100,-45,123};
int location;
int i;
printf("输入要查找的数值:");
scanf("%d",&location);
for (i=0;i<10;i++)
{
  if (location==array[i])
   printf("数值在数组中\n");
  continue;
}
}
我将int array1=1;删掉了,在这个程序里是多余的。原先是想再定义这个个数据来保存输入数值的判断结果,却不知道该怎么用

[此贴子已经被作者于2006-3-19 22:43:26编辑过]


2006-03-19 22:24
cxwl3sxl
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:495
专家分:129
注 册:2005-11-12
收藏
得分:0 
#include<stdio.h>
main()
{
int array[10]={1,0,4,8,12,65,-76,100,-45,123};
int location;
int i;
int array1=1;//不太明白这是为什么?
printf("输入要查找的数值:");
scanf("%d",&location);
for (i=0;i<10;i++)
{
if (location==array[i]){
printf("数值在数组中\n");
else printf("数值不在数组中\n");}
}
试一下吧,我这里没有编译器,不过我认为应该可以的

努力,哈哈,总有一天会变成高手~~~~~~因为我相信:没有办不到,只有想不到!http://t..cn/fpress
2006-03-19 22:31
不惑不获
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-3-17
收藏
得分:0 

试了,先谢谢了,这个我已经试验过,输出了十次的循环结果来判断的,而我认为的是最后就只有一句话:“在”或者“不在”
我还有一个构想是用location>=1 && location<=10,判断输入的数值在array中能否对上位置,可是本事不够


2006-03-19 22:40
快速回复:这个程序有什么问题吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020413 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved