C语言编程,随机产生100个三位数,并按大小排序输出。程序有如下错误,请问原因,如何改正。

如题所述

1、main应该有类型,int

2、要包含库文件,里面有rand函数。stdlib.h里面有。要生成3位数,应该用rand()%1000,或者,random(1000) ,另外,使用rand或random函数之前,应该先使用randomize() 函数初始化随机数生成器。
3、paixu函数调用错误,你不是调用,而是定义的格式。应该是paixu(a);
4、%3.5格式也不对,前面一个数是总位数,后面是小数位数,总位数必须大于小数位数。这里是正数,没有小数,用%5d即可。追问

啊,最后一个是不该出的问题......

不过我这个随机生成三位数的没错吧

谢谢了,我会去继续调

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-05-11
paixu需要在开头预定义
第2个回答  2016-05-11
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
#include "time.h"
#include "stdlib.h"
int main(void){
int nDec[100],i,j,k;
srand((unsigned)time(NULL));
for(i=0;i<100;nDec[i++]=rand());
for(i=0;i<100;i++){
for(k=i,j=k+1;j<100;j++)
if(nDec[k]<nDec[j]) k=j;
if(i!=k){
j=nDec[i];
nDec[i]=nDec[k];
nDec[k]=j;
}
printf("%d ",nDec[i]);
}
printf("\n");
return 0;
}
第3个回答  2016-05-11
在定义后面写个种子追答

srand(NULL);

排序里面的形参也写错了

追问

怎么写?