题目:查找算法。
内容:1.完成从键盘读入任意个数
2。用查找算法查找某个值,如果查找成功输出它 如果没有成功则 输出提示信息
题目:查找算法。
内容:1.完成从键盘读入任意个数
2。用查找算法查找某个值,如果查找成功输出它 如果没有成功则 输出提示信息
根据您的意思,写出如下代码:
#include <stdlib.h>
#include <stdio.h>
void main()
{
int num;
printf("How many numbers will input?\n");
scanf("%d", &num);
if(0 >= num)
{
printf("The number is too small!\n");
return;
}
printf("Please input %d numbers!\n", num);
int* data = (int*)malloc(num*sizeof(int));
int i;
for(i=0; i<num; i++)
scanf("%d", &data[i]);
printf("Please input the number to be select\n");
int selectnum;
scanf("%d", &selectnum);
int flag = 0;
for(i=0; i<num; i++)
{
if(selectnum == data[i])
{
printf("The number: %d is found successful\n", selectnum);
flag = 1;
break;
}
}
if(!flag)
printf("The number does not exist\n");
getchar();
free(data);
}
如有不明白可以追问。
谢谢采纳!
#include<stdio.h> #include<stdlib.h> int main() { void find(int a[],int x,int M); int i=0,*p,n; static M=1; char c='a'; p=(int *)malloc(5*sizeof(int)); printf("please input some integer:"); while(c!='\n') {
while(i<M) { scanf("%d",&p[i]); i++; if(i==M) { p=(int *)realloc(p,(M+1)*sizeof(int)); M=M+10; } c=getchar(); if(c=='\n') break; } } printf("what do want to find:"); scanf("%d",&n); find(p,n,M); return 0; }
void find(int a[],int x,int M) { int i; for(i=0;i<M;i++) { if(a[i]==x) {printf("%d\n",a[i]);break;} else continue; } if(i==M) printf("cannot find!\n"); }