#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语言内容请搜索靠谱客的其他文章。
发表评论 取消回复