这个程式哪里错了,为什么老调试不了?

来源:百度知道 编辑:UC知道 时间:2024/06/08 01:06:10
有已知一个三位数:232
然后从0-9中随机抽取三个数组成一个三位数,如果这个三位数与已知的三位数相同则继续从0-9中随机抽取三个数组成另一组三位数并输出(一共输出10组)如果不同则返回重新抽取

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <assert.h>

int main(int argc, char* argv[])
{
int i=0,a,b;
scanf("%d",&a); //输入已知数
assert(a>99&&a<1000);//确保a是个三位数
srand(time(NULL));//设置随机数种子
while (i<10)
if (rand()%900+100==a) {//随机取一个三位数,并与a对比
printf("%d\n",a);
i++;
}
getch();
return 0;
}
system("PAUSE");

程序运行可能需要很长时间才结束~~~
----------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
int i=0,a,b;
scanf("%d",&a);
if(a<100||a>1000)
{
printf("Error!!\n");
return 0;
}
srand(time(NULL));
while (i<10)
{
printf(".");//给点提示,不然程序看上去没有反应,感觉上死掉了
if (rand()%900+100==a)
{
printf("\n[%d]%d\n",i,a);
i++;
}
//等一秒时间太久,等50-100毫秒就可以
//sleep(1);//猜中了才改变自变量,这个可能需要很多次循环,所以最好要释放一下CPU

}
getch();//这里就是相当于pause的功能,等待按键再退出
return 0;
}

楼上骂人的垃圾~~
你把system("PAUSE");写在main()外面还不是语法错误!!!

/*有已知一个三位数:232
然后从0-9中随机抽取三个数组成一个三位数,如果这个三位数与已知的三位数相同则继续从0-9中随机抽取三个数组成另一组三位数并输出(一共输出10组)如果不同则返回重新抽取
*/
#include <stdio.h>