永发信息网

求助:C语言设计的数据结构习题

答案:2  悬赏:20  手机版
解决时间 2021-06-01 14:37
  • 提问者网友:蓝莓格格巫
  • 2021-06-01 05:24

题目:查找算法。

内容:1.完成从键盘读入任意个数

2。用查找算法查找某个值,如果查找成功输出它 如果没有成功则 输出提示信息

最佳答案
  • 五星知识达人网友:封刀令
  • 2021-06-01 06:46

根据您的意思,写出如下代码:


#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);
}



如有不明白可以追问。


谢谢采纳!

全部回答
  • 1楼网友:归鹤鸣
  • 2021-06-01 07:19

#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"); }

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯