C语言最后主要强调了下集中算法分别是:冒泡法、选择法、插数法。
// 题6:选择法 :输入5个数,从大到小排列
char arr[5]; //定义数组 int k; //循环变量 for(k=0;k<5;k++) { printf("请输入第%d个数据:\n",k+1); //循环提示输入数据,并接收数据 scanf("%d",&arr[k]); }int i; //循环变量
int j; // 循环变量 for(i=0;i<5;i++) //外层循环,控制循环数组的长度 { for(j=i;j<5;j++) //内层循环,控制坐标指针{
if(arr[i]<arr[j]) //判断{
int temp = arr[i]; //把arr[j]的值赋予arr[i] arr[i]=arr[j]; arr[j]=temp; } } } for(i=0;i<5;i++) { printf("%d ",arr[i]); } *//* // 题7:冒泡法 :输入5个数,从大到小排列 char arr[5]; int k; for(k=0;k<5;k++) { printf("请输入第%d个数据:\n",k+1); scanf("%d",&arr[k]); }
int i;
int j; for(i=0;i<5;i++) { for(j=0;j<4;j++) { if(arr[j]<arr[j+1]){
int temp = arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } for(i=0;i<5;i++) { printf("%d ",arr[i]); } //题8:插数法:在下列数组中插入一个数字 并且按从小到大排列 int arr[10]={2,5,8,10,15,19,25,66,77}; int num=16; int index=9; int i; for(i=0;i<9;i++) { if(num<arr[0]) { index=0; break; } if(num>arr[i] && num<arr[i+1]) { index=i+1; break; } } int j; for(j=9;j>=index;j--) { arr[j]=arr[j-1]; } arr[index]=num; for(j=0;j<10;j++) { printf("%d",arr[j]); } */