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