当前位置: 代码迷 >> C语言 >> 这个程序有什么问题吗?
  详细解决方案

这个程序有什么问题吗?

热度:72   发布时间:2006-03-19 22:41:00.0
应当是多大了,估计是做一个控制变量,但后来没有用。
----------------解决方案--------------------------------------------------------
#include<stdio.h>
main()
{
int array[10]={1,0,4,8,12,65,-76,100,-45,123};
int location;
int i,j;
printf("输入要查找的数值:");
scanf("%d",&location);
for (i=0;i<10;i++)
{
if (location==array[i]) j=1;
 else j=0;

if(j) printf("数值在数组中\n");
else printf("数值不在数组中\n");

不知道这样和不和你的意思,在试试看!

[此贴子已经被作者于2006-3-19 23:04:10编辑过]


----------------解决方案--------------------------------------------------------
成了,那个变量终于用到了,最后的if(j)非常漂亮,j的出现,避免了多余循环结果的出现,非常好。
每天都学到东西,真是非常感谢!多谢大家的帮助!
----------------解决方案--------------------------------------------------------
可惜,只能辨识最后个数值,循环好象没有停止,在确认location==array[i]后继续执行下去了。
----------------解决方案--------------------------------------------------------
#include "stdio.h"
void main()
{
int array[10]={1,0,4,8,12,65,-76,100,-45,123};
int location;
int i,flag;
printf("输入要查找的数值:");
scanf("%d",&location);
for(i=0;i<10;i++)
{if(location==array[i])
{printf("%d",location);
printf("在数组中,它的位置是");
printf("%d",i+1);//它的位置是数组下标加1
flag=1;//设置一个标志flag=1表示数值在数组中

}}
if(flag!=1) printf("数值不在数组中");

}
----------------解决方案--------------------------------------------------------

以上是我改进后的代码,请多多指教,共同进步!


----------------解决方案--------------------------------------------------------

Perfect!感谢所有关注的朋友,小弟终于得尝所愿,收益非浅。谢谢大家!


----------------解决方案--------------------------------------------------------
以下是引用不惑不获在2006-3-19 23:55:00的发言:
可惜,只能辨识最后个数值,循环好象没有停止,在确认location==array[i]后继续执行下去了。

#include<stdio.h>
main()
{
int array[10]={1,0,4,8,12,65,-76,100,-45,123};
int location;
int i,j;
printf("输入要查找的数值:");
scanf("%d",&location);
for (i=0;i<10;i++)
{
if (location==array[i]){j=1;break;}
 else j=0;

if(j) printf("数值在数组中\n");
else printf("数值不在数组中\n");

当找到一个相等的数的时候,break就会中断循环,这下应该没有什么问题了。
(昨天由于时间关系,没有考虑到这一点,现在回来补上!)
----------------解决方案--------------------------------------------------------
#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);
break;
}
if (i==9)
printf("%d不在数组里\n",location);
}
}
----------------解决方案--------------------------------------------------------
这样可以了 我已经运行过了 而且还比较简洁的 我自己比较满意了 你看怎么样 不满意的话 我继续努力啊 呵呵
----------------解决方案--------------------------------------------------------

  相关解决方案