----------------解决方案--------------------------------------------------------
如果不用,随机性如何解决呢?
我想不到,
----------------解决方案--------------------------------------------------------
回21楼的。
如果不用rand()
那就自己做一个随机数。
最简单就是用“同余法”
----------------解决方案--------------------------------------------------------
同余法?
----------------解决方案--------------------------------------------------------
我好久不弄c了,不知道c有没有枚举,用枚举更好些
----------------解决方案--------------------------------------------------------
请帮忙看下,这个程序为什么运行的结果还是错误的呢?
谢谢!
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
  int a[10],i,random,swap;
  double num=0;
  for(i=0;i<10;i++)
   {
     a[i]=i;
   }
  srand(time(NULL));
  for(i=0;i<10;i++)
   {
     random=rand()%10;
     swap=a[i];
     a[i]=a[random];
     a[random]=swap;
   }
   for(i=0;i<10;i++)
   printf("%d\n",a[i]);
  for(i=0;i<10;i++)
  {
    num+=a[i];
    if(i<9)    /*我改了这个*/
      num*=10;
  }
  printf("%Lf",num);  
  getch();
}
----------------解决方案--------------------------------------------------------
请帮忙看下,这个程序为什么运行的结果还是错误的呢?
谢谢!
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
  int a[10],i,random,swap;
  double num=0;
  for(i=0;i<10;i++)
   {
     a[i]=i;
   }
  srand(time(NULL));
  for(i=0;i<10;i++)                 
   {
     random=rand()%10;          
     swap=a[i];
     a[i]=a[random];
     a[random]=swap; 
      }
   for(i=0;i<10;i++)     
   printf("%d\n",a[i]);
  for(i=0;i<10;i++)
  {
    num+=a[i];
    if(i<9)    /*我改了这个*/
      num*=10;                
printf("%Lf",num);  
  getch();
}
[此贴子已经被作者于2006-4-9 9:18:02编辑过]
----------------解决方案--------------------------------------------------------
倒数第三行有个输出错误!
  printf("%Lf",num); 应为 printf("%lf",num);   
即‘L' 应为‘l’
----------------解决方案--------------------------------------------------------
for(i=0;i<10;i++)
{
num+=a[i];
if(i<9)
num*=10;
}
我觉得这个FOR 里面的语句没有一点实际意义。num+=a[i].不就是算0+1+2+3+。。。+9吗?不管每次随机成什么样的十位数都会是一样的结果。
----------------解决方案--------------------------------------------------------
谢谢28楼的,问题解决了!
29楼的,你好象错了,我下面还有一句:
if(i<9)
num*=10;
----------------解决方案--------------------------------------------------------