这个程序是这样的,本人的想法是要把shuzua函数产生的数组传递到paixu函数中进行排序,但不知道该怎么样编程,试了很多遍都弄不好,耽搁一下你们的时间,麻烦告诉本人一下怎么弄,万分感谢。
#include <stdio.h>
#include <stdlib.h> // 包含rand()函数说明
#include <time.h>
void shuzua(int*a,i);
void paixu(int*a,i);
void shuzua(int*a,i)
{
int j, tmp;
srand((unsigned)time( NULL ) );//用当前时间种子重置随机数生成器,使每次运行生成不同的随机数
for(i=0;i<100;i++) // 生成100个数
{
while(1) //生成1个数
{
tmp=100 *rand()/ RAND_MAX +1; // 产生随机数
for(j=0;j<i;j++) //判断能否重复
if( tmp==a[j] )
break;
if(j==i) // 找到1个数
{
a[i]=tmp; //入队列
break; // 开始下一轮
}
}
#include <stdio.h>
#include <stdlib.h> // 包含rand()函数说明
#include <time.h>
void shuzua(int*a,i);
void paixu(int*a,i);
void shuzua(int*a,i)
{
int j, tmp;
srand((unsigned)time( NULL ) );//用当前时间种子重置随机数生成器,使每次运行生成不同的随机数
for(i=0;i<100;i++) // 生成100个数
{
while(1) //生成1个数
{
tmp=100 *rand()/ RAND_MAX +1; // 产生随机数
for(j=0;j<i;j++) //判断能否重复
if( tmp==a[j] )
break;
if(j==i) // 找到1个数
{
a[i]=tmp; //入队列
break; // 开始下一轮
}
}
}
}
void paixu(int*a,i)//冒泡排序
{
int m,n,temp;
shuzua();
// strcpy(char*b,char*a);
for(m=0;m<100-1;m++)//冒泡排序
{
for(n=0;n<100-1-m;n++)
{
if(a[n]<a[n+1])
{
temp=a[n];
a[n]=a[n+1];
b[n+1]=temp;
}
}
}
for(i=0;i<100;i++)
{
printf(“%d\t”,b[i]);
}
}
void main()
{
int a[100],i;
shuzua(int*a,int i);
paixu(int*a,int i);
}
解决方案
80
1.函数调用传参的时候不需要写类型
2.函数声明的时候需要写类型
3.你的paixu函数里不需要再调用shuzua函数了
4.paixu函数里出现了把两个a写成了b
2.函数声明的时候需要写类型
3.你的paixu函数里不需要再调用shuzua函数了
4.paixu函数里出现了把两个a写成了b
#include <stdio.h> #include <stdlib.h> // 包含rand()函数说明 #include <time.h> void shuzua(int*a,int i); void paixu(int*a,int i); void shuzua(int*a,int i) { int j, tmp; srand((unsigned)time( NULL ) );//用当前时间种子重置随机数生成器,使每次运行生成不同的随机数 for(i=0;i<100;i++) // 生成100个数 { while(1) //生成1个数 { tmp=100 *rand()/ RAND_MAX +1; // 产生随机数 for(j=0;j<i;j++) //判断能否重复 if( tmp==a[j] ) break; if(j==i) // 找到1个数 { a[i]=tmp; //入队列 break; // 开始下一轮 } } } } void paixu(int*a,int i)//冒泡排序 { int m,n,temp; //shuzua(); // strcpy(char*b,char*a); for(m=0;m<100-1;m++)//冒泡排序 { for(n=0;n<100-1-m;n++) { if(a[n]<a[n+1]) { temp=a[n]; a[n]=a[n+1]; a[n+1]=temp; } } } for(i=0;i<100;i++) { printf("%d\t",a[i]); } } void main() { int a[100],i; shuzua(a,i); paixu(a,i); }