zoukankan      html  css  js  c++  java
  • 纯C语言跑分(详细注释)

    #include <stdio.h>
    #include <time.h>//clock()所属头文件
    const int N_qsort=10000;//快排的数据规模
    const int M=20000,N=50000;//整点、浮点运算的规模
    const int N_pi=100000000;//计算圆周率的运算规模
    double s_int,s_float,s_pi,s_sort;
    void int_comp(void);//整点运算
    void float_comp(void);//浮点运算
    void pi_comp(void);//泰勒级数推论式计算圆周率
    void Qsort(int a[],int low,int high);//快排算法
    void qsort(void);//调用快排算法的函数
    void panduan();
    void PAUSE();
    
    
    int main(){
    
                printf("------
    性能测试开始
    ");
                int_comp();//整点运算
                float_comp();//浮点运算
                pi_comp();//泰勒级数推论式计算圆周率
                qsort();//快速排序
                printf("------
    测试结束
    ");
                printf("整点运算得分:%lf
    ",s_int);
                printf("泰勒级数推论式计算圆周率运算得分:%lf
    ",s_pi);
                printf("排序运算得分:%lf
    ",s_sort);
                printf("总得分:%lf
    ",s_int+s_float+s_pi+s_sort);
                panduan();
                PAUSE();
    }
    
    void int_comp(void){//整点加法
         printf("整点运算测试中(运算次数为:%lf)
    ",(double)M*N);
         clock_t start,end;
         int i,j;
         start=clock();
         for(i=0;i<M;i++)
             for(j=0;j<N;j++);
         end=clock();
         double duration=(double)(end-start)/CLOCKS_PER_SEC;
         double score=(M*N)/duration;
         /*注:score本身即为运算速度,数量级一般在亿,为方便起见,本程序的分数均采用运算速度除以一万后的结果!除特殊说明,后面类同!*/
         s_int=score/10000;
         //printf("整点运算测试完毕!分数:%lf
    ",s_int);
    }
    
    void float_comp(void){//浮点加法
         printf("浮点运算测试中(运算次数为:%lf)
    ",(double)M*N);
         clock_t start,end;
         float i,j;
         start=clock();
         for(i=0;i<M;i++)
         for(j=0;j<N;j++);
         end=clock();
         double duration=(double)(end-start)/CLOCKS_PER_SEC;
         double score=(M*N)/duration;
         s_float=score/10000;
         //printf("浮点运算测试完毕!分数:%lf
    ",s_float);
    }
    
    void pi_comp(void){
         printf("泰勒级数推论式计算圆周率中(运算次数为:%d)
    ",N_pi);
         int m,i=1;
         double s=0;
         clock_t start,end;
         start=clock();
         for(m=1;m<N_pi;m+=2){
            s+=i*(1.0/m);
            i=-i;
         }
         end=clock();
         double duration=(double)(end-start)/CLOCKS_PER_SEC;
         double score=N_pi/duration;
         //下面一行可输出计算出来的圆周率
         printf("pi=%lf
    ",4*s);
         s_pi=score/10000;
         //printf("泰勒级数推论式计算圆周率完毕!分数:%lf
    ",s_pi);
    }
    void Qsort(int a[],int low,int high){//快排算法
         if(low>=high) return;
         int first=low;
         int last=high;
         int key=a[first];
         while(first<last){
             while(first<last&&a[last]>=key) --last;
             a[first]=a[last];
             while(first<last&&a[first]<=key) ++first;
             a[last]=a[first];
         }
         a[first]=key;
         Qsort(a,low,first-1);
         Qsort(a,first+1,high);
    }
    void qsort(void){//调用快排算法的函数
         int a[N_qsort],i;
         for(i=N_qsort;i>0;i--) a[N_qsort-1]=i;
         printf("排序运算中(对%d个数进行快速排序)
    ",N_qsort);//采用最坏时间方案
         clock_t start,end;
         start=clock();
         Qsort(a,0,N_qsort-1);
         end=clock();
         double duration=(double)(end-start)/CLOCKS_PER_SEC;
         double score=(N_qsort*N_qsort)/duration;
         s_sort=score/10000;
    //printf("排序运算测试完毕!分数:%lf
    ",s_sort);
    }
    void panduan(){
        float i=s_int+s_float+s_pi+s_sort;
        printf("根据分数,授予您的爱机<");
        if (i>0&&i<20000){
            printf("渣渣");
        }
        else if (i>20000&&i<30000){
            printf("低端");
        }
        else if (i>30000&&i<40000){
            printf("中端");
        }
        else if (i>40000&&i<50000){
            printf("高端");
        }
        else if (i>50000&&i<60000){
            printf("超高端");
        }
        else if (i>60000){
            printf("机皇");
        }
        printf(">称号
    ");
    }
    void PAUSE(){
        clean_stdin();
    }
  • 相关阅读:
    js-21点小游戏
    js-打印出现最多次的字母
    盒模型浮动
    九九乘法表
    猫眼-湄公河行动电影介绍页面
    (day4)用css画三角形以及红旗
    cookie的使用
    用Servlet校验密码2
    Servlet登录验证
    Servlet概述
  • 原文地址:https://www.cnblogs.com/Frank-dev-blog/p/9570796.html
Copyright © 2011-2022 走看看