从键盘输入10个整数,编写程序用选择排序法对这十个数降序排列,要求主函数功能

从键盘输入10个整数,编写程序用选择排序法对这十个数降序排列,要求主函数功能,第1张

include<stdioh>

int main()

{int i,j,k,t,a[10];

for(i=0;i<10;i++) //输入10个整数

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

for(i=0;i<9;i++) //排序10个数,需要9轮

{k=i; //当前最小值的编号

for(j=i+1;j<10;j++) //扫描后续所有元素

   if(a[j]<a[k])k=j; //如后面的元素更小,就更新最小编号

t=a[i]; a[i]=a[k]; a[k]=t; //把最小的元素交换到第 i 位

}

for(i=0;i<10;i++) //输出排好序的元素值

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

return 0;

}

package commapabctest;

public class SeleSort {

public static void main(String[] args){

//int a[] = new int[argslength];

int[] a = {5,2,1,3,4};

for (int i=0; i<argslength; i++){

a[i] = IntegerparseInt(args[i]);

}

print(a);

Systemoutprintln("--------------------");

seleSort(a);

//print(a);

}

// private static void seleSort(int[] a){

// for (int i=0;i<alength;i++){

// for (int j=i+1;j<alength;j++){

// if(a[j]<a[i]){

// int temp = a[i];

// a[i] = a[j];

// a[j] = temp;

// }

// }

// print(a);

// }

// }

private static void seleSort(int[] a){

for (int i=0;i<alength;i++){

int tmpx = i,min = a[tmpx];

for (int j=i+1;j<alength;j++){

if(min>a[j]) {

tmpx = j;

min = a[tmpx];

}

}

a[tmpx] = a[i];

a[i] = min;

print(a);

}

}

private static void print(int[] a){

for(int i=0;i<alength;i++){

Systemoutprint(a[i]+" ");

}

Systemoutprintln();

}

}

#include<stdioh>

#include<stdlibh>

#include<timeh>

int sort1(int d,int n)

{

int i,j,temp;

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

{

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

{

if(d[j+1]>d[j])

{

temp=d[j+1];

d[j+1]=d[j];

d[j]=temp;

}

}

}

return 0;

}

int sort2(int d,int n)

{

int i,j,temp;

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

{

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

{

if(d[j]>d[i])

{

temp=d[j];

d[j]=d[i];

d[i]=temp;

}

}

}

return 0;

}

int common_divisor(int m,int n)

{

int i,temp;

if(m>n)

{

temp=m;

m=n;

n=temp;

}

for(i=m;i>=1;i--)

{

if(m%i==0&&n%i==0)

{

printf("\n%d是%d和%d的最大公约数\n",i,m,n);

break;

}

}

printf("%d是%d和%d的最最小公倍数\n",(mn)/i,m,n);

return 0;

}

int diff12()

{

int i,j,k,m;

//int d[4];

for(i=1;i<=9;i++)

for(j=i;j<=9;j++)

for(k=j;k<=9;k++)

for(m=k;m<=9;m++)

{

if(i!=j&&i!=k&&i!=m&&j!=k&&j!=m&&k!=m&&i+j+k+m==12)

{

printf("%d+%d+%d+%d=12\n",i,j,k,m);

}

}

return 0;

}

float sum20()

{

int n,t,a=2,b=1,number=20;

float s=0;

for(n=1;n<number;n++)

{

s=s+a10f/b;

t=a;//保留前一项的分子,因为前一项的分子是后一项的分母

a=a+b;//a要发生变化,所以前面用t保留前一项的分子

b=t;//前一项的分子存储在t中,这里赋值给下一项的分母

}

printf("前%d项之和为%f\n",number,s);

return s;

}

int main()

{

int data[10];

int i;

srand(time(NULL));

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

{

data[i]=rand()%100;

}

printf("原来的数组为:\n");

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

{

printf("%-4d",data[i]);

}

sort1(data,10);

printf("\n冒泡法数组为:\n");

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

{

printf("%-4d",data[i]);

}

sort2(data,10);

printf("\n选择法数组为:\n");

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

{

printf("%-4d",data[i]);

}

common_divisor(10,4);

diff12();

sum20();

return 0;

}

#include<cstdio>

#include<iostream>

using namespace std;

int a[200001];

int main()

{

int n;

scanf("%d",&n);

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

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

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

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

if(a[i]>a[j])

{

int t=a[i];a[i]=a[j];a[j]=t;

}

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

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

return 0;

}

void sort(int a[], int n)

{

int i, j, t;

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

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

if(a[i] > a[j])

{

t = a[i]; a[i] = a[j]; a[j] = t;

}

}

void Selection(SeqList  l)

{

int i,j,k,n;

    int tmp;

n=l->size;

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

    {

        k=i;  //开始一趟选择排序,假定第i个元素是后面n-i+1个未排序的元素中最小的元素

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

        {

if(l->date[k] > l->date[j]) //如果发现比当前最小元素还小的元素,则更新记录最小元素的下标k

    k=j;

        }

//如果最小元素的下标不是后面n-i+1的未排序序列的第一个元素,则需要交换第i个元素和后面找到的最小元素的位置

        if(k != i)

        {

            tmp=l->date[k];

            l->date[k]=l->date[i];

            l->date[i]=tmp;

        }

    }

}

以上就是关于从键盘输入10个整数,编写程序用选择排序法对这十个数降序排列,要求主函数功能全部的内容,包括:从键盘输入10个整数,编写程序用选择排序法对这十个数降序排列,要求主函数功能、把下面java冒泡程序改成选择排序,需要结果有每次排序的过程。、C语言程序:冒泡排序(降序,从大到小) 选择排序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9862642.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存