lstd.net
当前位置:首页 >> C 排序 >>

C 排序

#include <stdio.h> void main () { int i,a[100],n,j,t; printf ("输入个数n: "); scanf ("%d",&n); printf ("输入%d个数据:\n",n); for (i=0;i<n;i++) { printf ("a[%d]= ",i); scanf ("%d",&a[i]); } for (i=1;i<n;i++)//冒泡排序 for (j=0;j<n-i;j++) if (a[j]

c语言中排序法有选择法和冒泡法是最常见的. 1冒泡法对10个数排序 #include<stdio.h> void main () { int a[10]; int i,j,t; printf("please input 10 numbers:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); printf("\n"); for(j=0;j<9;j++) //进行9次循环,实

两种方法 简单方法#include<stdio.h> int main(void) { int a, b, c, t; printf("软件的功能是为3个数字排序,从大到小"); printf("请输入三个数字,以空格相间隔:\n"); scanf("%d %d %d", &a, &b, &c); if (a < b) { t = a; a = b; b = t; } if (a < c)

#include<stdio.h> int main() { int a[10],i,j,t,k; printf("请以次输入10个学生的成绩:"); for(i=0;i<10;i++)scanf("%d",&a[i]); for(i=0;i<9;i++) { k=i; for(j=i;j<10;j++) if(a[j]>a[k])k=j; if(i!=k) { t=a[i]; a[i]=a[k]; a[k]=t; } } printf("由高到低排序输出成绩:\n"); for(i=0;i<10;i++) printf("%d\n",a[i]); return 0; }

1.比较法2.选择排序3.冒泡排序4.希尔排序5.快速排序6.堆排序7.合并排序8.基数排序9.折半插入排序10.直接插入排序

#include"stdio.h" //从小到大排序 void main() { int i,j,t,str[10]; printf("请给数组str赋初值:\n"); for(i=0;istr[i+1]) // //因为是从小到大所以借助中间量t将小的数提前 { t=str[i]; str[i]=str[i+1]; str[i+1]=t; } printf("排序后的数组为:\n"); //打印排序后的数组 for(i=0;i

/*选择排序法:从小到大排列10个数并输出*/#include<stdio.h>#define N 10 //可修改输入个数 void main() { int i,a[N],t,j; for(i=0;i<N;i++) scanf("%d",&a[i]); //输入 for(j=1;j<N;j++) //N次比较 for(i=0;i<j;i++) //每趟中比j次 if(a[i]>a[j]) //与a[i]后面的元素进行比较 { t=a[i];a[i]=a[j];a[j]=t; } printf("排序后:\n"); for(i=0;i<N;i++) printf("%d ",a[i]); printf("\n"); }

冒泡排序是:相邻两数两两比较,进行相邻大小的交换,共进行N-1次,每轮 进行N-1-i次.核心程序段为:for(i=0;i<N-1;i++) { for(j=0;j<N-i-1;j++) if(a[j]>a[j+1]) {temp=a[j];a[j]=a[j+1];a[j+1]=temp} } 选折排序是:首数与后数进行两两相比,按大小进行

; using namespace std; int main() { int a[10]; cout<<"输入10个数字:"<<endl; for (int i=0;i<10;i++) { cin>>a[i]; } for(int m=0;m<10;m++) for(int n=0;n<10;n++) { if(a[n]>a[n+1]) { int s; s=a[n]; a[n]=a[n+1]; a[n+1]=s; } } for(int j=0;j<10;j++) cout<<a[j];

#include <stdio.h> main(void) { int i,j,a[10],p=0,t=0,temp; printf("请输入原数组:\n"); for(j=0;j<10;j++) scanf("%d",&a[j]); temp=a[0]; for(j=0;j<9;j++) { t=j; temp=a[j]; for(i=j+1;i<10;i++) if(temp>a[i]) //这是由小到大排序 如果是大到小则改为 if(

qhgj.net | ymjm.net | zxtw.net | so1008.com | zxqt.net | 网站首页 | 网站地图
All rights reserved Powered by www.lstd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com