c语言 系统跑分,纯C语言跑分(详细注释)(示例代码)
#include #include//clock()所属头文件
const int N_qsort=10000;//快排的数据规模
const int M=20000,N=50000;//整点、浮点运算的规模
const int N_pi=100000000;//计算圆周率的运算规模
doubles_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);//调用快排算法的函数
voidpanduan();voidPAUSE();intmain(){
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;inti,j;
start=clock();for(i=0;i
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;floati,j;
start=clock();for(i=0;i
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
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=key) --last;
a[first]=a[last];while(first
a[last]=a[first];
}
a[first]=key;
Qsort(a,low,first-1);
Qsort(a,first+1,high);
}void qsort(void){//调用快排算法的函数
inta[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);
}voidpanduan(){float i=s_int+s_float+s_pi+s_sort;
printf("根据分数,授予您的爱机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(">称号");
}voidPAUSE(){
clean_stdin();
}
c语言 系统跑分,纯C语言跑分(详细注释)(示例代码)相关推荐
- c语言平曲线,算法——纯C语言最小二乘法曲线拟合
算法--纯C语言最小二乘法曲线拟合 写完,还没来得及写注释,已通过Matlab的polyfit验证(阶数高或者数据量太大会有double数据溢出的危险,低阶的都吻合),时间有点紧,程序注释,数学推导等 ...
- linux下c语言聊天室程序,纯C语言Socket实现聊天室
最近在学习嵌入式开发,练习C语言小项目,基本是参考别人的代码,做了些修改实现了聊天室,纯C语言编写. 想直接看源码的跳到最后. 一.练习内容 socket通信流程 管道的使用 epoll的使用 首先要 ...
- C语言系统程序总体框图,c语言学生成绩管理系统(含源代码)精要.doc
C 语言程序设计作业 一 设计项目:学生成绩管理系统 二 总体设计: 1 程序设计组成框图: 2:模块功能说明: 1 输入功能:输入学生姓名学号及成绩. 2 查看功能:输出姓名学号及各科成绩. 3 查 ...
- c语言系统时间的作用,C语言得到当前系统时间
void getTime(){ //获取当前系统时间 time_t tTime;//距离1900年1月1日的秒数 char str[80]; struct tm* stTim;//时间结构 time( ...
- c语言系统关键词有哪些,C语言的那些关键字
C语言有一堆关键字,一共n个,就在下面: 1.类型关键字 系统内置类型:long short int char float double void long:32位整数,默认为有符号,下同 short ...
- c语言系统主函数流程图,C语言程序设计——成语学习系统
头文件 包含内容: 代码: 主函数 功能: 初始化数据,负责调用各个函数,运行登录系统.游戏系统.数据写入系统,完成程序的完整执行. 流程图 代码 Data文件 Data文件包含函数 函数 功能 Ge ...
- 学生选课系统C语言系统的说明文档,C语言学生选课系统(代码)
#include #include #include int N1,N2; struct student { int num2; char name2[20]; int nelenum[50]; // ...
- c语言系统时间随机种子,C语言中以时间为种子,产生随机数的函数
srand((unsigned)time(NULL) +++++++++++++++++++++++++++++++++++++++++++++++++ 以时间为种子,其实再产生随机数的函数中都会加, ...
- c语言怎么创建循环链表,纯C语言实现循环双向链表创建,插入和删除
#include #includetypedefintElemType; typedefstructDLNode{ ElemType data;struct DLNode *next;struct D ...
最新文章
- OpenStack如何实现高可用集群介绍
- 算术运算符举例java_Java的算术运算符简介
- mysql 1366 utf8_mysql出现ERROR 1366 (HY000):的解决办法
- linux集群命令关闭其中一台,自己整理的一点Linux命令集
- 登录界面点击登录后如何延迟提示成功的div的显示时间并跳转
- OpenCV的基本模块介绍
- 深度学习_算法工程师 6 万字总结算法面试中的深度学习基础问题
- 极限理论总结04:Delta方法
- 如何开发自己的VUE组件库并打包复用
- 《IT行业职位介绍-搞懂高级程序员、架构师、技术总监、CTO从薪资到技能的区别》
- 智能手环的软硬件与产业
- 11.8号软基2.2.2
- vnc远程工具的使用教程
- 浙工商计算机学院教师,浙工商计算机与信息工程学院导师介绍:魏贵义
- linux下文件压缩、解压缩方法(tar)
- 高通平台RF配置流程
- 机器学习(二):k近邻法(kNN)
- 【智能控制实验】基于MATLAB的BP神经网络设计
- HDS相关(二)之具有Flash Access保护的HTTP Dynamic Streaming
- 2021年LED透明屏发展趋势前景展望