首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

编了个产生随机数的程序,为什么当输入多个字符时程序会出现紊乱啊求解决方案!解决方法

2012-04-23 
编了个产生随机数的程序,为什么当输入多个字符时程序会出现紊乱啊?求解决方案!#include stdio.h#include

编了个产生随机数的程序,为什么当输入多个字符时程序会出现紊乱啊?求解决方案!
#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("谢谢使用!");  } 

热点排行