除了隔一秒的办法,还有其他办法吗?这也太耽误时间了。
#include <stdio.h>#include <stdlib.h>
#include <time.h>
#include <windows.h>
int main(void){
int i,j;
for (i=0;i<10;i++){
Sleep(1000);
srand((unsigned)time(NULL));
j=rand();
printf("%d,",j);
}
return 0;
}
那么,该如何解决呢?难道就没有办法连续生成随机数了吗?当然有,我们将在《C语言连续生成多个随机数》一节中给出一种巧妙的解决方案。
printf("%d\n", rand()); srand(1); printf("%d\n", rand());
//实例来源:。。。 //实例功能:求4名学生两次考试中3门课程的总分并显示 //运行结果描述: #include <stdio.h> int main(void){ int i,j; int fenshu1[4][3]={{91,63,78},{67,72,46},{89,34,53},{32,54,34}}; int fenshu2[4][3]={{97,67,82},{73,43,46},{97,56,21},{85,46,35}}; int sum[4][3]; //求两次考试的分数之和 for (i=0;i<4;i++){ //4名学生的 for (j=0;j<3;j++){ //3门课程的 sum[i][j]=fenshu1[i][j]+fenshu2[i][j]; //两次的分数的和 } } //显示第一次考试的分数: puts("第一次考试的分数:"); for (i=0;i<4;i++){ for (j=0;j<3;j++){ printf("%4d",fenshu1[i][j]); }putchar('\n'); } //显示第二次考试的分数: puts("第二次考试的分数"); for (i=0;i<4;i++){ for (j=0;j<3;j++){ printf("%4d",fenshu2[i][j]); }putchar('\n'); } //显示总分 puts("总分:"); for (i=0;i<4;i++){ for (j=0;j<3;j++){ printf("%4d",sum[i][j]); }putchar('\n'); } return 0; }
#include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) { srand( (unsigned)time(NULL) ); for( size_t i=0; i!=10; ++i ) { int v = rand(); printf( "%d, ", v ); } }
Set WshShell = CreateObject("Wscript.Shell") Dim i Dim yuwen(30) '30个学生的一次语文考试成绩 i=0 Do While i<30 Randomize '这句就是我想用时间实现的,当然也许有更好的办法 yuwen(i)=int(rnd*99+1)+1 myPopMsg=myPopMsg & yuwen(i) & "," i=i+1 Loop a=WshShell.Popup(myPopMsg,1000,"这次语文考试的成绩:",vbOkOnly+vbDefaultButton1+vbInformation) Set WshShell = Nothing