C语言编程 题目描述 使用选择排序法对数组元素进行排序,要求输出每一趟排序后的数组内容。数组大小N

作者&投稿:谷叶 (若有异议请与网页底部的电邮联系)
C语言编程题 题目描述 使用冒泡排序法对数组元素进行排序,要求输出每一趟排序后的数组内容。数组大小~

#include
int main()
{int n,i,j,t,a[20];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
{for(j=0;j<n-1-i;j++)
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
for(j=0;j<n-1;j++)
printf("%d,",a[j]);
printf("%d
",a[j]);
}
return 0;
}


这样:
int *a = (int *)malloc(sizeof(int) * n); //动态分配数组空间 ,有几个元素,n就是几。for(i=0; i<n; i++)
{
a[i]=录入数值;
}
Sort(a, n);
for(j=0; j<n; j++)
{
printf("%d",a[ij);//输出的内容就是排序好了的
}//下面方法是用来排序的
void Sort(int *a, int n)
{
int i, j, temp;
for(i=0; i<n; i++)
{
for(j=i; j<n; j++)
{
if(a[i] > a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}

扩展资料:注意事项
1、选择排序法是将序列分为两段,有序前列和无序后列,每次查找无序后列中最大元素,将其插入到有序前列的最末尾处,直至无序后列最后一个元素,最终排序后的序列为降序序列。
2、适用于包括数组和向量在内的序列。
3、选择排序与冒泡排序的区别是选择排序每次遍历时会记住最大元素的位置,只进行一次交换,而冒泡排序每次遍历时会交换两个顺序不合法的元素。
算法程序:
#include "stdafx.h"
#include
using namespace std;
void SelectSort(int A[],int n)
{
for(int i = 0;i < n;i++ )
{
int max =i;
for(int j = i+1;j < n;j++) //查找最大元素所在位置
{
if (A[j] > A[max])
max =j;
}
int temp = A[max]; //交换无序后列中首元素与最大元素的位置
A[max] = A[i];
A[i] = temp;
}
}

#include<stdio.h>

int main()

{int n,i,j,k,t,a[20];

 scanf("%d",&n);

 for(i=0;i<n;i++)

   scanf("%d",&a[i]);

 for(i=0;i<n-1;i++)

 {k=i;

  for(j=i+1;j<n;j++)

    if(a[j]<a[k])k=j;

  t=a[i];a[i]=a[k];a[k]=t;

  for(j=0;j<n;j++)

    printf("%d ",a[j]);

  printf("
");

 }

  return 0;

}  




廛河回族区13264155558: C语言如何用选择法排序任意输入十个数(从大到小、从小到大)? -
众牲康得: #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]) //这是由小到大排序 如果是大到小则改...

廛河回族区13264155558: c语言编程题选择排序法对n个数进行排序 -
众牲康得: #include <stdio.h>int main() {int a[] = {49, 27, 65, 97, 76, 12, 38};int index, i, j, t;int length = sizeof(a)/sizeof(int);//sort beginfor (i=0;i<length-1;i++) {index = i;for (j=i+1;j<length;j++)if (a[j]<a[index]) index = j;if (index != i) {t = a[i]; a[i] = a[index];...

廛河回族区13264155558: C语言,写一个程序,用选择法对20个整数排序 -
众牲康得: #include int main() { int i,j,k,t,a[20]; for(i=0;ia[j]) k=j; t=a[k]; a[k]=a[i]; a[i]=t; } } printf("排序之后:\n"); printf("%d",a[0]); for(i=1;i

廛河回族区13264155558: c语言题:应用指针变量,用选择排序法将数组元素按从小到大的顺序排序.程序咋编?急需!!! -
众牲康得: 将所有数放到一个数组 int *a = (int *)malloc(sizeof(int) * n); //动态分配数组空间 ,有几个元素,n就是几.for(i=0; i<n; i++) { a[i]=录入数值; } Sort(a, n); for(j=0; j<n; j++) { printf("%d",a[ij);//输出的内容就是排序好了的 }//下面方法是用来排序的 ...

廛河回族区13264155558: C语言,编写一个函数,函数是用选择排序法将数组排序 -
众牲康得: #include<stdio.h> void px(int a[]) {int i,temp,j;for(i=0;i<10;i++){for(j=i;j<10;j++){if(a[i]<=a[j]){temp=a[i];a[i]=a[j];a[j]=temp;}}} }void main(){int i,a[10];for(i=0;i<10;i++){printf("成绩:");scanf("%d",&a[i]);}px(a);for(i=0;i<10;i++...

廛河回族区13264155558: C语言编程题:用选择法对10个整数排序 -
众牲康得: #include main() { int a[10],i,j,t; printf("please input ten int numbers:"); for(i=0;ia[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } for(i=0;i

廛河回族区13264155558: 简单选择排序的C语言编程 -
众牲康得: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24这题出得实在是够笼统. 最简单的,冒泡法排序. #include <stdio.h> voidbubble_sort(intary[], intlen) {inti, j, t;for(i = 0; i < len - 1; i++)for(j = 0; j < len - 1 - i; j++)if(ary[j] > ary[j + 1]) { ...

廛河回族区13264155558: C语言,用选择法对数组中10个整数按由小到大排序?求解释!!! -
众牲康得: 首先以array[0]作为参照,从左到右扫描,找到最小的数据与array[0]位置交换. 接下来以array[1]作为参照,重复上述过程. ... k=i定位参照 k=j找到剩下数组中最小值

廛河回族区13264155558: c语言从键盘上输入N个整数保存在数组中,用选择法排序将其按升序排列并将结果显示 -
众牲康得: #include <stdio.h> #include<stdlib.h> #define N 10 void main() { int i,j,temp; int *a=(int *)malloc(sizeof(int)*N);//因为你的N我不知道好大,所以就是这样定义数组. for(i=0;i<N;i++) { scanf("%d",&a[i]); } for(i=0; i<N-1; i++) {for(j=i+1; j<N; j++){if(...

廛河回族区13264155558: 用c语言编程编写一个函数,用选择法对主函数中的一个字符数组进行从大到小的排序. -
众牲康得: #include<stdio.h> void sort(char s[]) {int n,i,j,k; char c; for(n=0;s[n];n++); for(i=0;i<n-1;i++) {k=i; for(j=i+1;j<n;j++) if(s[j]>s[k])k=j; c=s[i];s[i]=s[k];s[k]=c;} } int main() {char s[200]; int n; scanf("%s",s); sort(s); puts(s); return 0; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网