C语言编程 vc++软件
题目:
#include<stdio.h>
int search(int *,int,int);
int main(void)
{
int list[10];
int i,n, x,t;
printf("n = ");
scanf("%d", &n);
for(i=0;i<n;i++)
scanf("%d",&list[i]);
printf("x = ");
scanf("%d",&x);
t = search(list,n,x);
if(t+1)
printf("%d", t);
else
printf("Not Found!");
printf("\n");
return 0;
}
int search(int *p,int n,int x)
{
int i;
for(i=0;i<n;i++)
if(p[i]==x)
return i;
else
return -1;
}
答案:#include "stdio.h"
search(int list[10],int n,int x)
{ int i=0;
for(i=0;i<n;i++)
{ if(list[i]==x)
{ return i;
break;
}
}
return -1;
}
main()
{ int list[10],a,n,x,i,t;
printf("n=?\n");
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&list[i]);
printf("x= \n");
scanf("%d",&x);
t=search(list,n,x);
printf("%d ",t+1);
}int search(int *p,int n,int x)
{
int i;
for(i=0;i<n;i++) {
if(p[i]==x)
return i;
}
return -1;
}
查找函数改成这样就可以满足要求了
之前你的 只是判断第一个数据是不是相等 是的话返回0 否则返回-1
应该循环结束才能返回-1
上一个:用VC++编写下题
下一个:vs2010与vc++哪个好?