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语言程序:冒泡排序(降序,从大到小) 选择排序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)