【C语言】查找:给定有10个元素的整数数组,输入一个数,在数组中查找是该数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【C语言】查找:给定有10个元素的整数数组,输入一个数,在数组中查找是该数相关的知识,希望对你有一定的参考价值。

查找:给定有10个元素的整数数组,输入一个数,在数组中查找是该数
要求
如果找到,输出该数在数组中的位置
如果数组中有多个数等于查找关键字,试给予不同的处理
若数组为排序的(升序或降序),试改为折半查找法

求解啊。。感激不尽!

参考技术A #include <stdio.h>
#define COMMON 0
#define MUL_EQU 1
#define ORDER 2
#define INC 1
#define DEC 2
int main()
int array[10];
int i,n,type,index,found=0,order;
printf("Input 10 integers:");
for(i=0;i<10;i++)
scanf("%d",&n);
array[i]=n;

printf("Input array type.\n \"0\" for Common\n \"1\" for 2 or more equal numbers\n \"2\" for ordered array\n:");
scanf("%d",&type);
switch(type)
case COMMON:
printf("Input index to search:");
scanf("%d",&index);
for(i=0;i<10;i++)
if(array[i]==index)
printf("Found at array[%d].\n",i);
return 0;


printf("Index not found!\n");
return 0;
case MUL_EQU:
printf("Input index to search:");
scanf("%d",&index);
for(i=0;i<10;i++)
if(array[i]==index)
printf("Found at array[%d].\n",i);
found=1;


if(found==0) printf("Index not found!\n");
return 0;
case ORDER:
if(array[0]<array[1])
order=INC;
else
order=DEC;

printf("Input index to search:");
scanf("%d",&index);
if(index==array[5])
printf("Found at array[5]\n");
return 0;
else if(index>array[5])
for(i=6;i<10;i++)
if(array[i]==index)
printf("Found at array[%d]\n",i);
return 0;


printf("Index not found!\n");
return 0;
else if(index<array[5])
for(i=0;i<5;i++)
if(array[i]==index)
printf("Found at array[%d]\n",i);
return 0;


printf("Index not found!\n");
return 0;


return 0;

需要注释吗?追问

如果有注释当然最好了~还有。..怎么运行啊?不好意思啊菜鸟一只

追答

我发现有个错误,把后半部分改掉了。不好意思,解答还这个样子⋯⋯
另外运行的话TC2啦WinTC啦应该都可以。大概吧⋯⋯(笑)因为我不清楚Windows的C,我用linux的GCC调试通过了,不过我没有Windows,没法试验,就只好麻烦你自己试一下了⋯⋯
加注释后百度说我超字数⋯⋯怎么办⋯⋯

本回答被提问者采纳

ZZNUOJ_用C语言编写程序实现1149:查找子数组(附完整源码)

题目描述

给定两个整型数组,数组a有n个元素, 数组b有m个元素,1<=m<=n<100,请检验数组b是否是数组a的子数组。若从数组a的某个元素a[i]开始,有b[0]=a[i],b[1]=a[i+1],…,b[m]=a[i+m],则称数组b是数组a的子数组。

输入

输入第一行为两个整数n和m;第二行为数组a的n个整数;第三行为数组b的m个整数,各数据之间用空格隔开。

输出

输出占一行。若b是a的子数组,则输出子数组所在位置i,注意下标从0开始;否则输出“No Answer”。

样例输入

8 3
3 2 6 7 8 3 2 5
3 2 5

样例输出

5

完整源码:

#include

以上是关于【C语言】查找:给定有10个元素的整数数组,输入一个数,在数组中查找是该数的主要内容,如果未能解决你的问题,请参考以下文章

给定一个集合,查找集合中一共多多少种不同的元素

c语言中怎样让一个有10个元素的数组输出5个元素后换行后再输出另外五个函数

ZZNUOJ_用C语言编写程序实现1149:查找子数组(附完整源码)

c语言 .从键盘输入10个整数,存到一维数组中,并求这10个整数的和?

C语言:在十个元素的数组中,判断某数是不是存在。

C语言,查找数组里重复出现的数字;