读书人

编了个产生随机数的程序为什么当输入

发布时间: 2012-04-23 13:17:38 作者: rapoo

编了个产生随机数的程序,为什么当输入多个字符时程序会出现紊乱啊?求解决方案!
#include <stdio.h>
#include <time.h>
void main()
{
int m,n,p,i;
while(1)
{
printf("请设定随机数的范围(m,n): ");
scanf("%d,%d",&m,&n);
if(m==0&&n==0) {printf("\a\a"); break;}
else
printf("请输入每次要产生的随机数的个数: ");
scanf("%d",&p);
if(p!=0)
{
srand(time(NULL));
for(i=0;i<p;i++)
printf("%d ",m+rand()%(n-m+1));
printf("\n\n");
}
else break;
}
printf("谢谢使用!");
}


求高手相助。。。

[解决办法]
除了我注释的问题外,这程序while(1)在循环,输入一组数组后就一直在死循环了.

C/C++ code
#include <stdio.h>#include<stdlib.h>#include <time.h> void main(){  double m,n;  int p,i;  while(1)  {  printf("请设定随机数的范围(m,n): ");  scanf("%lf,%lf",&m,&n); //输入1.5,2.4是浮点数了,要用double型  if(m==0&&n==0) {printf("\a\a"); break;}  else  printf("请输入每次要产生的随机数的个数: ");    scanf("%d",&p);    if(p!=0)  {  srand(time(NULL));  for(i=0;i<p;i++)  printf("%lf ", m+rand()%(int)(n-m+1));//除余操作符只能是整数,所以强制转一下。  printf("\n\n");  }  else       break;  }  printf("谢谢使用!");  } 

读书人网 >C语言

热点推荐