A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

#include<stdio.h>

void receiveArr(int arr[],int len);
void maoPao(int arr[],int len);
void printArr(int arr[],int len);

int main(){
   
    //定义数组
    int len=0;
    printf("请输入数组元素个数:\n");
    scanf("%d",&len);
    int arr[len];
   
    //接收数组元素
    receiveArr(arr,len);
   
    //冒泡排序
    maoPao(arr,len);
   
    //遍历数组
    printArr(arr,len);
   
   
    return 0;
}


//接收数组元素
void receiveArr(int arr[],int len){
    for(int i=0;i<len;i++){
        printf("请输入arr[%d]的值:\n",i);
        scanf("%d",&arr);
    }
    printf("输入成功!\n");
}



//冒泡排序
void maoPao(int arr[],int len){
    printf("当前是冒泡排序模式:\n排序完成.\n");
    for(int i=0;i<len-1;i++){
        for(int j=0;j<len-1-i;j++){
            if(arr[j]>arr[j+1]){
                int temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
        }
    }
}


//遍历数组
void printArr(int arr[],int len){
    for(int i=0;i<len;i++){
        printf("%d\n",arr);
    }
}

8 个回复

倒序浏览
你那个数组长度一开始未知,不会报错?
回复 使用道具 举报
写的不错  多加油努力吧
回复 使用道具 举报
有问题
你的len=0,无法标记数组长度,后续的数组由于len=0都会出现问题
如果你想在程序运行时自定义数组长度  可以使用一条scanf获取数组长度而不是写为零
回复 使用道具 举报
//遍历数组 void printArr(int arr[],int len){     for(int i=0;i<len;i++){         printf("%d\n",arr); 改成arr[i]
回复 使用道具 举报
scanf("%d",&arr);  改成&arr[i]
回复 使用道具 举报
写的很不错啊,不过int len=0,改成int len;    把遍历数组中的printf("%d\n",arr);改成printf("%d\n",arr[i]);就好了,。。。
回复 使用道具 举报
1wang2huan 发表于 2015-9-2 21:23
//遍历数组 void printArr(int arr[],int len){     for(int i=0;i

刚看了一眼文件里的还有,不知道粘到这里为什么就没了。。
回复 使用道具 举报
唐肖虎 发表于 2015-9-2 21:32
写的很不错啊,不过int len=0,改成int len;    把遍历数组中的printf("%d\n",arr);改成printf("%d\n",arr); ...

嗯,谢谢
不知道为什么拷过来就没了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马