‘壹’ 从键盘输入10个整数,编写程序用选择排序法对这十个数降序排列,要求主函数功能
include<stdio.h>
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;
}
‘贰’ C语言编程题: 将数组a中的10个整数降序排列并输出.
#include<stdio.h>
intmain()
{
inta[10]={1,3,5,7,9,8,4,6,0,2};
inti,j,k;
for(i=0;i<9;i++)
{
for(j=i;j<10;j++)
{
if(a[i]<a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
}
for(i=0;i<圆搭散枝野10;i++)printf("%d橘氏",a[i]);
}
‘叁’ 编写一个函数,对10个整数按降序排序。在主函数输入10个数,调用该函数,输出排序后的结果。.
代码如下:
一、头文件:
#include<stdio.h>
#defineN10
二、输入函数,获取输入值:
voidsort(inta[],intn){inti,j;inttemp=0;for(i=0;i<n-1;i++){for(j=0;j<n-1-i;j++){if(a[j]<a[j+1]){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}}
}
三、选择排序函数:
voidselect_sort(int*a,intn){inti,j;inttemp,max;for(i=0;i<n-1;i++){max=i;for(j=i+1;j<n;j++)拆敏扒if(a[max]<a[j])拿陵max=j;if(max!=i){temp=a[max];a[max]=a[i];a[i]=temp;}}}
三、主函数,执行。
intmain(void){inta[N],i;for(i=0;i<N;i++){scanf("%d",&a[i]);}//sort(a,N);select_sort(a,N);for(i=0;i<N;i++){printf("%d,",a[i]);}putchar(10);旅昌return0;}
(3)编程将10个数按降序输出扩展阅读:
C语言排序的3种方法:
1、冒泡法:
思想:每次相邻两个数比较,若升序,则将大的数放到后面,一次循环过后,就会将最大的数放在最后。
2、选择排序:
从第一个数开始,每次和后面剩余的数进行比较,若升序,则如果后边的数比当前数字小,进行交换,和后面的所有的数比较、交换后,就会将当前的最小值放在当前的位置。
3、插入排序:
用扑克的方法解释,首先抽到第一张牌,将它放在第一位,排序是从第二次抽牌开始,第二次抽起一张牌3,它比9小,所以将9向后移一。位然后把3放在9原来的位置。再次抽牌2,发现它应该再3的前面,所以将3和9向后移,把2放到3原来的位置... ... 以此类推的思维。
‘肆’ 用C语言编写,输入10个数按降序排列
源程序代码如下:
#define_CRT_SECURE_NO_WARNINGS//VS环境下需要,VC不需要
#include<stdio.h>//头文件;
intmain()
{
inti=0;
intj=0;
doubletemp=0;
doublea[10]={0};//定义三个变量和一个长度为10的数组;
printf("请输入十个数:
");//显示含尘“请输入十个数”
for(i=0;i<10;i++)
{
scanf("%lf",&a[i]);//从键盘上输入十个数送到数组;
}
for(i=1;i<10;i++)//for循环,进行9次循环;
{
for(j=i-1;j>=0;j--)//for循环,在每次扮李大的循环中,a[i]从a[1]依次与它前面的数比较;
{
if(a[j+1]>a[j])
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;//如果a[j+1]>a[j],则把这两个数组元素互换,目的把最大的数放到前边;
}
else
{
break;
}
}
}
for(i=0;i<10;i++)
{
printf("%lf
",a[i]);//输出排好顺谈缺禅序的十个数;
}
return0;//返回值为0;
}
程序运行结果如下:
(4)编程将10个数按降序输出扩展阅读:
其他实现方法如下:
#include<stdio.h>
intmysort(int*a,intn)
{
inti,j,temp;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
}
return0;
}
intmain()
{
inta[10];
inti,j;
printf("input10numbers:
");
for(i=0;i<10;i++)
{
printf("thenumber%dis:",i+1);
scanf("%d",a+i);
fflush(stdin);
}
mysort(a,10);
for(i=9;i>=0;i--)
printf("%3d",a[i]);
printf("
");
return0;
}
‘伍’ C语言将数组a中的10个整数降序排列并输出,如何编程
这个是自己凯世扰输入10个整数,不想自己输的话就先给数组a赋初值,然后把下面程序盯旦里的输入语句去掉即可返耐x0dx0a#include ‘陆’ c语言输入10个整数,按降序排序输出
#include<stdio.h>
intmysort(int*a,intn)
{
inti,j,temp;
for(i=0;i<n-1;i++)
哗绝旅{
for(j=0;j<n-1-i;j++)
{
if(a[j]>a[j+1])
{
宏扰temp=a[j+1];
乱凳a[j+1]=a[j];
a[j]=temp;
}
}
}
return0;
}
intmain()
{
inta[10];
inti,j;
printf("input10numbers:
");
for(i=0;i<10;i++)
{
printf("thenumber%dis:",i+1);
scanf("%d",a+i);
fflush(stdin);
}
mysort(a,10);
for(i=9;i>=0;i--)
printf("%3d",a[i]);
printf("
");
return0;
}
‘柒’ 编一个程序,输入10个整数,并放在数组中,先降序输出所有的数,再统计并输出其中正数、负数和零的个数
#include
using
namespace
std;
int
main()
{
int
arr[10],
zheng
=
0,
fu
=
0,
zero
=
0;
//在输入的时候统计正负神败数和零的个数
for
(int
i
=
0;
i
<
10;
i++)
{
cout
<<
"请输入第"
<<
i
<<
"个数:"启瞎塌;
cin
>>
arr[i];
if
(arr[i]
==
0)
zero++;
else
if
(arr[i]
<
0)
fu++;
else
zheng++;
}
cout
<<
"所输入的数是:";
for
(int
i
=
0;
i
<
10;
i++)
{
cout
<<
arr[i]<<"
";
}
cout
<<
endl;
cout
<<
"正数有:"
<<
zheng
<<
"个"
<<
'\t';
cout
<<
"负数有:"
<<
fu
<<
"个"悄圆
<<
'\t';
cout
<<
"零有:"
<<
zero
<<
"个"
<<
'\t';
return
0;
}
希望能帮上忙。
‘捌’ c++编程,输入10个学生成绩,把及格成绩按降序输出,为什么出现多余的数1703796
排序的时候,内层r循环应该知道倒蚂银誉数第二个,引用循环体里需要使用a[r+1],因此,程序里面的闷段下搏亩面语句:
for (r=0;r<10;r++)
需要修改为:
for (r=0;r<10-1;r++)
‘玖’ 用计算机C语言编程,程序设计题:从键盘输入十个数,将他们进行降序排列。 求解答需要详细过程,谢谢!
#include<stdio.h>
intmain()
{inti,j,t,a[10];
for(i=0;i<10;i++)//输入10个整数
scanf("%d",&a[i]);
for(i=0;i<9;i++)//降序冒泡排序
搜此for(j=0;j<9-i;j++)
世闹迅if(a[j]<a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
for(i=0;i<10;i++)//输出
printf("%d"弯袜,a[i]);
printf("
");
return0;
}
‘拾’ 如何在Java中从键盘输入10个数,用选择法按降序排序并输出
在Java中在数组中保存10个乎大数,调用下面的排序皮孝函数,用选择法燃顷稿按降序排序:public static void selectionSort(int[] arr){ for (int i = 0; i < arr.length - 1; i++) { int max = i; for (int j = i + 1; j < arr.length; j++) { if (arr[max] < arr[j]) { max = j; } } if (max != i) { int tmp = arr[max]; arr[max] = arr[i]; arr[i] = tmp; } } }