Hello cnblogs!
Hello cnblogs!
摸摸大 我是一个测试,我从office2013而来~
(~ ̄▽ ̄)~*
下面是一段小小的HDUACM代码 试试复制的html代码高亮~
看看能不能不用插件~
这不行啊 我还是装插件吧~~~
算额 懒得装 就这样吧~~~~
#include <stdio.h>
const double SS = 43200.000;//SS=12*60*60
const double S = 6.000;
const double M = 0.100;
const double H = 360.000/12.000/3600.000;
//const double SH = 6 - 360/12/3600;
//const double SM = 5.9;//SM=6-0.1
//const double MH = 0.1 - 360/12/3600;
int panduan(unsigned int sx,unsigned int c);
double Min(double a, double b);
double cc,x1,x2,x3,X1,X2,X3; //cc用来存放最终计算值 x123是换算的中间变量
double huansuan(double a,unsigned int c);
double Absd (double a,double b) ; //绝对差计算
main()
{
unsigned int n,count,i;
count = 0;
while(1)
{
scanf ("%d",&n);
if (n==-1) break;
count=0;
for (i=1;SS+1.000>i;i++) {if (panduan(n,i)) count++;}// printf("判断结果是正确\n");} }
cc=(double)count/SS;
printf("%3.3f\n",cc*100.000);
// printf("%d\n",count);
}
}
int panduan(unsigned int sx,unsigned int c)
{
x1 = huansuan(S,c);
x2 = huansuan(H,c);
x3 = huansuan(M,c);
// 算出角度差 并取正值
X1 = Absd(x1,x2);
X2 = Absd(x1,x3);
X3 = Absd(x2,x3);
// printf("%f,%f,%f我进行了一次判断 %d\n",x1,x2,x3,c);
if (Min(X1,360.000-X1) >= sx && Min(X2,360.000-X2) >= sx && Min(X3,360.000-X3) >= sx ) return 1;
else return 0;
}
double Min(double a, double b)
{
return a<b?a:b;
}
double huansuan(double a,unsigned int c) //将变化值进行转化
{
double b;
b = a*c;
while (b>360.000) b=b-360.000;
// b=a%360.0
// while (b>360.000) b=a-360.000; //此处必定出错了
// printf("我进行了一次转化%f\n",b);
return b;
}
double Absd (double a,double b) //进行计算
{
return a>b?(a - b):(b - a);
}
我还将插入一张图片 来看看是否支持上传:

浙公网安备 33010602011771号