order.c

来自「顺序查找」· C语言 代码 · 共 48 行

C
48
字号
#include <stdio.h>
#define MAX 100

int Init(int r[MAX]){
	int i,n;
	for(i=0;i<MAX;i++)
		r[i]=' ';
	printf("请输入序列的长度:\n");
	scanf("%d",&n);
	printf("请按从顺序输入序列(回车确认):\n");
	for(i=0;i<n;i++)
		scanf("%d",&r[i]);
	return n;
}
void OrderSearch(int r[MAX],int n,int key,int k[MAX]){
	int i,m;
	for(i=0;i<n;i++)
		k[i]=-1;
	m=0;
	for(i=0;i<n;i++){
		if(r[i]==key)
			k[m++]=i;
	}
}
void Show(int r[MAX],int n){
	int i;
	printf("您输入的数列为:\n");
	for(i=0;i<n;i++)
		printf("(%d)%d ",i+1,r[i]);
	printf("\n");
}
void main(){
	int xuli[MAX],order[MAX];
	int key;
	int n;
	n=Init(xuli);
	printf("输入所要查找的数据:\n");
	scanf("%d",&key);
	Show(xuli,n);
	OrderSearch(xuli,n,key,order);
	if(order[0]==-1)	printf("所要查找的数据%d不在序列当中!\n",key);
	else{
		n=0;
		while(order[n++]!=-1){
			printf("所要查找的数据%d为第%d个.\n",key,(order[n-1]+1));
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?