zoukankan      html  css  js  c++  java
  • try throw catch异常处理机制

    /*本程序实现分块查找算法  又称索引顺序查找     需要注意的是分块查找需要2次查找  先对块查找  再对块内查找    2013.12.16    18:44*/
    #include <iostream>
    #include <stdio.h>
    #include <stdlib.h>
    #define N 12
    struct index
    {
        int key;
        int start;
        int end;
    }index[4];
    int search(int a[],int l,int o)//实现分块查找
    {
        int i,j=0;
        for(i=0;i<4;i++)//实现分块
        {
            index[i].start=j++;
            j+=3;
            index[i].end=j;
            index[i].key=a[j];//关键数据,标记
        }
        i=0;
        while(i<4&&o>index[i].key)//确定所在块
        i++;
        if(i>=4)
        return -1;
        j=index[i].start;
        while(j<=index[i].end&&a[j]!=o)//在块内确定位置,以while语句替代if  简洁
        j++;
        if(j>index[i].end)
        j=-1;
        return j;
       
       
    }
    int main(int argc,char **argv)
    {
        int n[N] ={2,4,8,10,12,14,15,17,21,22,44,55};//要求数据元素必须有序
        int i=0;
        int result;
        int input;
        printf(" 所有数据如下,请输入要查找的数据,本程序将列出它的位置  采用分块查找算法 ");
        while(i<N)
        {
            printf("%d    ",n[i]);
            i++;
        }
        puts(" ");
        try
        {
        scanf("%d",&input);
        if(input<10)
        throw 0;
        result=search(n,N,input);
        }
        catch (int)
        {
            std::cerr<<"error";
            exit(1);
        }
        if (result==-1)
        printf("输入有误,请检查!");
        else
        printf("您查找的数据  %d在  %d处 ",input,result);
        return 0;
    }

    image

  • 相关阅读:
    音乐播放器-任务
    android 四大组件Broadcast Receiver
    Android面试题
    android Notification 的使用
    【转】dip,px,pt,sp 的区别
    SQL Server快捷方式丢了怎么启动
    《ASP.NET1200例》C#在网页上编写动态时钟
    Win7旗舰版中的IIS配置asp.net的运行环境
    《转》Win7 IIS7.5 安装
    《ASP.NET 1200例》ref关键字与out关键字
  • 原文地址:https://www.cnblogs.com/lzh-Linux/p/3487937.html
Copyright © 2011-2022 走看看