《编程之美》

写一个程序,让用户来决定Windows任务管理器(Task Manager)的CPU占有率,程序越精简越好,计算机语言不限。例如,可以实现下面三种情况:
#CPU的占用率固定在50%,为一条直线。
#CPU的占用率为一条直线,但是具体占用率由命令行参数决定(参数范围1~100)。
#CPU的占用率状态是一个正弦曲线,摘自《编程之美》。
#include " Windows.h "
  #include " stdlib.h "
  #include " math.h "  
 
const double SPLIT = 0.01 ;
  const int COUNT = 200 ;
  const double PI = 3.14159265 ;
  const int INTERVAL = 300

int _tmain( int argc, _TCHAR * argv[])
  {
  DWORD busySpan[COUNT]; // array of busy times
  DWORD idleSpan[COUNT]; // array of idle times
  int half = INTERVAL / 2 ;
  double radian = 0.0 ;
  for ( int i = 0 ; i < COUNT; i ++ )
  {
  busySpan[i] = (DWORD)(half + (sin(PI * radian) * half));
  idleSpan[i] = INTERVAL - busySpan[i];
  radian += SPLIT;
  }
  DWORD startTime = 0 ;
  int j = 0 ;
  while ( true )
{
  j = j % COUNT;
  startTime = GetTickCount();
while ((GetTickCount() - startTime) <= busySpan[j]) ;
  Sleep(idleSpan[j]);
  j ++ ;
  }
  return 0 ;
  }

你可能感兴趣的:(编程之美)