湖南鸿泰电力建设有限公司网站,直播软件视频软件,有哪个网站可以学做吃的,观山湖制作网站1.现有无序序列数组为23,24,12,5,33,5347#xff0c;请使用以下排序实现编程 函数1:请使用冒泡排序实现升序排序 函数2:请使用简单选择排序实现升序排序 函数3:请使用快速排序实现升序排序 函数4:请使用插入排序实现升序排序
#includestdio.h
#includestring.h请使用以下排序实现编程 函数1:请使用冒泡排序实现升序排序 函数2:请使用简单选择排序实现升序排序 函数3:请使用快速排序实现升序排序 函数4:请使用插入排序实现升序排序
#includestdio.h
#includestring.h
#includestdlib.h//冒泡
void bubble(int arr[],int len)
{for(int i1;ilen;i){for(int j0;jlen-i;j){if(arr[j]arr[j1]){int tarr[j];arr[j]arr[j1];arr[j1]t;}}}
}//简单选择
void simple(int arr[],int len)
{for(int i0;ilen;i){int mini;for(int ji;jlen;j){if(arr[min]arr[j])minj;}if(min!i){int tarr[min];arr[min]arr[i];arr[i]t;}}
}
//输出
void output(int arr[],int len)
{for(int i0;ilen;i){printf(%-4d,arr[i]);}puts();
}//一次排序返回基准值下标
int one_sort(int arr[],int low,int high)
{int keyarr[low];while(lowhigh){while(lowhigh key arr[high])high--;arr[low]arr[high];while(lowhigh key arr[low])low;arr[high]arr[low];}arr[low]key;return low;
}
//快速排序
void quick(int arr[],int low,int high)
{if(lowhigh)return;int midone_sort(arr,low,high);quick(arr,low,mid-1);quick(arr,mid1,high);
}//插入排序
void insert_sort(int arr[],int len)
{int i,j;for(i1;ilen;i){int temparr[i];for(ji-1;j0;j--){if(arr[j]temp){arr[j1]arr[j];}elsebreak;}arr[j1]temp;}
}
int main(int argc, const char *argv[])
{int arr[]{23,24,12,5,33,5,34,7};int lensizeof(arr)/sizeof(arr[0]);bubble(arr,len);output(arr,len);simple(arr,len);output(arr,len);quick(arr,0,len-1);output(arr,len);insert_sort(arr,len);output(arr,len);return 0;
}2.写了个递归函数 DigitSum(n),输入一个非负整数返回组成它的数字之和 例如:调用 DigitSum(1729),则返回 1729它的和是 19 输入1729输出 19
#includestdio.h
#includestring.h
#includestdlib.h
int DigitSum(int num)
{if(num0)return -1;else if(num0 num9)return num;else{int sumnum%10DigitSum(num/10);return sum;}
}
int main(int argc, const char *argv[])
{int num;printf(please enter num:);scanf(%d,num);int sDigitSum(num);if(s-1)puts(error);elseprintf(s%d\n,s);return 0;
}3.写一个宏可以将一个 int 型整数的二进制位的奇数位和偶数位交换
#includestdio.h
#includestring.h
#includestdlib.h
#define SWAP(num) (((num0xaaaaaaaa)1) ((num 0x55555555)1))
int main(int argc, const char *argv[])
{int num;printf(please enter num:);scanf(%d,num);printf(s_num%d\n,SWAP(num));return 0;
}