MchengY 2021-06-07 11:04 采纳率: 86.4%
浏览 49
已采纳

冒泡排序怎么写呀??

 

#include<stdio.h>

int temp;
void main(){
	int arr[];
	int m;
	scanf("%d",&arr[]);
	m=sizeof(arr);
	Bubblesort(arr,m);
}
int Bubblesort(int arr[],int n){
	for(int i=0;i<n-1;i++){
		for(int j=0;j<n-i-1;j++){
			if(arr[i]>arr[i+1]){
				temp=arr[i+1];
				arr[i+1]=arr[i];
				arr[i]=temp;
			}
		}
			printf("%d\n",arr[i]);
	}
	
}

为什么我的运行不了??

  • 写回答

6条回答 默认 最新

  • qfl_sdu 2021-06-07 11:14
    关注

    1.Bubblesort函数没有提前声明

    2.数组的输入方式不正确。

    3.temp不需要使用全局变量(虽然对代码功能没什么影响,但是不建议这么用)

    代码修改如下:

    #include<stdio.h>
    void Bubblesort(int arr[],int n);
    void main(){
    	int arr[100];
    	int i,m;
    	printf("请输入数组元素个数:");
    	scanf("%d",&m);
    	for (i = 0; i < m; i++)
    		scanf("%d",&arr[i]);
    	
    	Bubblesort(arr,m);
    }
    void Bubblesort(int arr[],int n){
    	int i,j,temp;
    	for(i=0;i<n-1;i++){
    		for(j=0;j<n-i-1;j++){
    			if(arr[i]>arr[i+1]){
    				temp=arr[i+1];
    				arr[i+1]=arr[i];
    				arr[i]=temp;
    			}
    		}
    		
    	}
    	for(i = 0; i < n;i++)
    		printf("%d ",arr[i]);
    	printf("\n");
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?