C语言函数问题,在线等候

来源:百度知道 编辑:UC知道 时间:2024/06/21 08:01:24
#define N 100
#include"stdio.h"
#include"time.h"
/*定义给数组赋值的函数*/
void fuzhi(int b[ ],int n)
{
int i;
srand(time(NULL));
for(i=0;i<n-1;i++)
{
b[i]=rand()%500;
printf("%1d",b[i]);
if(i%9==0)
printf("\n");
}
}
/*定义输出函数*/
void shuchu(int b[],int n)
{
int i;
for(i=0;i<n;i++)
{
printf("%1d",b[i]);
if(i%9==0)
printf("\n");
}
}
/*定义排序函数*/
void paixu(int b[],int n)
{
void shuchu(int b[],int n); /*输出函数声明*/
int i,j,t;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
if(b[i]>b[j])
{t=b[i];b[i]=b[j];b[j]=t;}
}
printf("\n排序后的数据为:\n");

试试在前面 #include <stdlib.h> 呢?

void input() 中 int charu(int b[],int n,int newnumber,int k)
与后面 void charu(int b[],int n,int newnumber,int k) 不匹配.

只需把第一个 int 改成 void.
另外也要注意数组的传递方式问题.

加一个#include<stdlib.h>
因为这个函数是这里的
随机数。这个不懂的话可以问我。。。当时专门看了一些

一,头函数少了#include <stdlib.h>
二,你写的函数赋值那些全部都错了,你要搞懂参数传递的规则!你用值传递是不能改变原来数组的值的!