关于c++循环中的时间控制问题....急!!!

来源:百度知道 编辑:UC知道 时间:2024/06/05 02:09:18
#include<iostream.h>
#include<stdlib.h>
#include<time.h>
#include<string.h>

void randomsort(int* a,int n)
{
int i,p,temp;
srand(time(0));
for(i=0;i<n;i++)
{
temp=rand()%25;

p=a[i];
a[i]=a[temp];
a[temp]=p;
}

};

void print(int* a,int n)
{
for(int i=0;i<n;i++)
{
cout<<a[i]<<" \t";
if((i+1)%5==0)cout<<endl<<endl<<endl<<endl;
}
};

int main()
{
int i;
char str[10];
const int n=25;
int a[n];
while(cin>>str)
{
for(i=0;i<n;i++)
a[i]=i+1;
randomsort(a,n);
print(a,n);
for(int i=0;i<5000;i++);
}
return 0;
}
这个是用输入控制循环,但是很麻烦,我想使循环每隔20秒运行一次,这样就不用手动输入了,呵呵...各位大哥大姐帮帮忙啊,急用哦...!最好能把写好的代码复制过来,在此谢过!

等待20秒 用 wait(20);

wait 函数 如下:

#include <time.h>
void wait ( int seconds )
{
clock_t endwait;
endwait = clock () + seconds * CLK_TCK ;
while (clock() < endwait) {}
}

sleep(20);就行了
或者用select
select可以控制到毫秒

是不是可以用SetTimer()
用OnTimer()实现循环过程