// // main.c // 冒泡排序 // // Created by wangpeng on 15/6/25. // Copyright (c) 2015年 wangpeng. All rights reserved. //
#include <stdio.h>
int main(int argc, const char * argv[]) { void maopao(); maopao(); return 0; }
/* 从键盘输入一个数,设置数组长度的函数 */ int getLen(){ int len; for (; ; ) { printf("请输入数组长度:\n"); scanf("%d",&len); if (len>0) {//长度不能为负数 break; }else{ printf("输入错误,长度须大于0\n"); } } return len; }
/* 使用冒泡法进行排序,英文不好,见笑 */ void maopao(){ int getLen();//这里可以不声明,但是个人习惯使用前都声明一下,良好的习惯还是有必要的 int len = getLen();//另外这里调用的函数可以通过形参的形式传递,也可以在main函数里面调用,编程风格问题,勿喷 int arr[len]; int num; for (int i=0; i<len; i++) {//从键盘依次接收数组的各个元素 printf("请输入第%d个数:\n",i+1); scanf("%d",&num); arr=num; } printf("您输入的是:\n"); for (int i=0; i<len; i++) {//输入完成后查看一下数组 printf("%d\t",arr); } printf("\n"); int temp; for (int i=0; i<len-1; i++) {//冒泡排序 for (int j=0; j<len-1-i; j++) { if (arr[j]>arr[j+1]) { temp = arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } printf("排序后:\n"); for (int i=0; i<len; i++) {//查看排序后的结果 printf("%d\t",arr); } }
|