C语言顺序查找算法(附带源码)

查找是计算机处理大量数据时最普遍的功能。顺序查找实际上是枚举法的应用。

期中考试结束了,数学老师已经把所有数学成绩按从高到低的顺序排列好。请编写一个程序,根据输入的个人数学成绩获得本次考试的排名。

C语言代码清单 1:根据输入的个人成绩获得考试排名(顺序查找)
#include <stdio.h>
#include <stdlib.h>
int main( )
{
    int i,S;
    int a[100];
    printf("从高到低输入成绩(空格分隔),\n");   
    printf("全部输入后,输入0并回车!\n");
    for(i=0;i<100;i++){    //用for循环给数组元素赋值
        scanf("%d",&a[i]);
        if(a[i]==0) break; //接收到0,则退出循环
    }
    printf("名次查询(输入0结束查询):\n");
    do{
        printf("输入成绩:");
        scanf("%d",&S);
        i=0;
        if(S==0) break;            //输入0结束查询
        while(a[i]!=0){
            if(a[i]==S) break;     //找到目标退出循环
            i++;
        }
        if(a[i]==S)
            printf("%d\n",i+1);    //输出名次
        else
            printf("未找到该成绩!");
    }while(S!=0);
    system("pause");
    return 0;
}

运行结果:

从高到低输入成绩(空格分隔),
全部输入后,输入0并回车!
98 87 77 64 61 51 0
名次查询(输入0结束查询):
输入成绩:64
4
输入成绩:63
未找到该成绩!输入成绩:77
3
输入成绩:87
2
输入成绩:0