设计自定义函数,sort(sort)的函数功能是利用选择法实现数组排序,sort函数的声明为,voi

设计自定义函数,sort(sort)的函数功能是利用选择法实现数组排序,sort函数的声明为,voi,第1张

import javautilArrays;

public class SortDemo

{

public static void main(String[] args)

{

int[] ary =

{ 1, 5, 23, 4, 8, 26, 9, 0, 40, 79 };

Systemoutprintln("原始数组为:" + ArraystoString(ary));

selectionSort(ary);

Systemoutprintln("选择排序为:" + ArraystoString(ary));

}

/ 选择排序 /

private static void selectionSort(int[] ary)

{

for (int i = 0; i < arylength; i++)

{

for (int j = i + 1; j < arylength; j++)

{

if (ary[i] > ary[j])

{

int temp = ary[i];

ary[i] = ary[j];

ary[j] = temp;

}

}

}

}

}

我做了一些修改,下面的程序可以运行!你肯定是个初学者,所以不要急慢慢来,把基础的东西一定要搞懂

我所做的修改主要有3点:

1、自定义函数不能在函数名后加分号(除非在函数说明时)

2、自定义函数如要放在主函数之后,则在主函数中一定要说明int

opp(int

x);

否则一定要放在主函数之前定义

3、printf()是格式化的输出函数,一定要给出输出格式,你的程序中是int型的所以用“%d”

最后建议你找一本c语言的书好好看看!

#include

int

opp(x)

{

int

r;

r=x+1;

return

(r);

}

main()

{

int

a=1,b;

b=opp(a);

printf("%d",b);

}

程序写得实在有点乱,变量名的声明与传递存在些问题,我帮你改改:

#include <stdioh>

#define N 5

int a[N];

void init(void);

void compare(void);

void disp(void);

void main()

{

// printf("")

init();

compare();

void disp();

}

void init(void)

{

a[N]={2,1,4,9,5};

}

void compare(void)

{

int i,j,t;

for(i=0;i<N;i++)

for(j=i+1;j<N;j++)

if(a[i]<a[j])

{

t=a[i];

a[i]=a[j]

a[j]=t;

}

}

void disp(void)

{

int i;

for(i=0;i<N;i++)

{

printf("%4d",a[i]);

}

}

程序改了很多,为什么?

数组a 定义为局部变量,你传递了却没返回,这样使用不了,我改为了全局变量,这样不需要传递,直接使用就行。

函数传递的另一个变量N 不需要传递,因为本身N就是个全局变量,直接使用就行。

还有一些定义了却没使用的变量我直接删了。

你先编译运行一下,有错再回复。

希望我的回答能帮助到你。

#include<stdioh>

int main(void)

{

void sort(int a[],int n);

int a[10];

int i,n;

printf("Enter n\n");

scanf("%d",&n);

printf("Enter %d numbers\n",n);

for(i=0;i<n;i++)

scanf("%d",&a[i]);

sort(a,n);

for(i=0;i<n;i++)

printf("%d ",a[i]);

return 0;

}

void sort(int a[],int n){

int i,k,c,j;

for(i=0;i<n-1;i++){

k=i;

for(j=i+1;j<n;j++)

if(a[k]<a[j])

k=j;

{

c=a[k];//这里是a[k]和a[i]交换

a[k]=a[i];

a[i]=c;}

}

}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/13496193.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-09-01
下一篇2025-09-01

发表评论

登录后才能评论

评论列表(0条)

    保存