C语言 随机输入十个数 能把它们从大到小排列出来的程序怎么写?

作者&投稿:戈梦 (若有异议请与网页底部的电邮联系)
C语言 从键盘随机输入10个整数,将他们从小到大排序后输出~

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

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

可以采用冒泡排序~

#include <stdio.h>

#define elemType int /*元素类型*/
#define ASC 0 /*升序*/
#define DESC 1 /*降序*/
#define LEN 100 /*数组长度*/

/*录入数组*/
void inputArr (elemType arr[], int len) {
int i;
for (i=0; i<len; i++)
scanf ("%d",&arr[i]);
putchar ('
');
}

/*打印数组*/
void printArr (elemType arr[], int len) {
int i;
for (i=0; i<len; i++)
printf ("%-4d",arr[i]);
putchar ('
');
}

/*冒泡排序*/
/*参数说明:*/
/*elemType arr[]:排序目标数组*/
/*int len:元素个数*/
/*int order:排序方式;升序(由小到大):ASC;降序(由大到小):DESC*/
void bubbleSort (elemType arr[], int len, int order) {
int i, j, temp;

for (i = 0; i < len - 1; i++)
for (j = 0; j < len - 1 - i; j++) {
if (order == ASC) { /*升序*/
if (arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
else if (order == DESC) { /*降序*/
if (arr[j] < arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}

int main (void) {
elemType arr[LEN];
elemType max,min,maxIndex,minIndex;
int len,i;

len = 10; /*指定数组元素个数*/ 
printf ("请输入包含%d个元素的整型数组:
",len);
inputArr (arr,len);
puts ("================================================================
");

puts ("此前输入数组:");
printArr (arr, len);
putchar ('
');

puts ("排序后数组:");
bubbleSort (arr, 10, DESC);
printArr (arr,10);
putchar ('
');

fflush (stdin); /*清除缓冲区*/
getch (); /*屏幕暂留*/
return 0;
}

运行结果




昂昂溪区15365991458: 用C语言,随机输入10个整数,用冒泡排序法对这些整数进行从小到大排序,输出排序前和排序后的数的顺序. -
市斩蒲参: C语言随机输入10个整数的源代码如下: #include"stdio.h" void fun(int a[]) { int i,j,t; for(i=0;i<9;i++) for(j=i+1;j<10;j++) if(a[i]>a[j]) {t=a[i];a[i]=a[j];a[j]=t;} } void main() { FILE *wf; int a[10]; int b[10]={9,10,11,12,1,2,3,4,0,1}; int c[10]={1,2,3,4,13,14,15,16,...

昂昂溪区15365991458: c语言 (排序算法)随机输入10个整数,将其从大到小排序并输出. -
市斩蒲参: #include<stdio.h> void main() { int a[10],i,j,t; for(i=0;i<10;i++) { scanf("%d",&a[i]); } printf("\n"); for(j=0;j<9;j++) { for(i=j+1;i<10;i++) { if(a[j]<a[i]) t=a[i]; a[i]=a[j]; a[j]=t; } } for(i=0;i<10;i++) { printf("%d",a[i]); printf(" "); } printf("\n"); }

昂昂溪区15365991458: c语言高手帮忙:从键盘输入10个整数.用选择法或冒泡法将它们从小到大的顺序排序,并以此顺序输出. -
市斩蒲参: #include main() {int s[10],t,i,j,x;printf("input 10 numbers:\n");for(t=0;t<10;t++)scanf("%d",&s[t]);for(i=0;i<9;i++)for(j=0;j<9-i;j++)if(s[j]>s[j+1]){t=s[j];s[j]=s[j+1];s[j+1]=t;}printf("the result is:\n ");for(j=0;j<10;j++)printf("%d",s[j]); printf("\n"); }

昂昂溪区15365991458: C语言任意输入10个整数,按从高到低的次序排序. -
市斩蒲参: #include<stdio.h> #include<stdlib.h> int main() { int i,j,Data[10]; printf("请输入10个数字:\n"); for(i=0;i<10;i++) { scanf("%d",&Data[i]); } //排序 for(i=0;i<10;i++) { for(j=i+1;j<10;j++) { int tmp; if(Data[i]<Data[j]) { tmp=Data[i]; Data[i]=Data[j]; ...

昂昂溪区15365991458: C语言定义一数组a,从键盘上输入10个数字(非整),要求让它们从小到大排列
市斩蒲参: #include <stdio.h>#include<math.h>int main(void){float a[10],temp;int i,j;for(i=0;i<10;i++){ printf("请输入第%d个数:",i+1); scanf("%f",&a[i]);}for(i=0;i<9;i++) for(j=i+1;j<10;j++) if(a[i]>a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; }printf("排序后的结果:\n");for(i=0;i<10;i++) printf("%f,",a[i]);return 0;}

昂昂溪区15365991458: c语言求输入十个随机数,输出它们由小到大的顺序 -
市斩蒲参: 以下代码供参考: # include <stdio.h> #define N 10//元素个数 void sort(int a[], int n)//排序函数 { int i=0,j=0,temp; for(i=0; i<n; i++) { for(j=i+1; j<n; j++) { if(a[j]<a[i]) { temp = a[i]; a[i] = a[j]; a[j] = temp; } } } } int main(void) { int num[N]; int i; for(i=0; i<N; i++) ...

昂昂溪区15365991458: C语言如何输入十个数,按从大到小顺序排列!
市斩蒲参: #include&lt;stdio.h&gt; void main() { int a[10]; int i,j,t; printf("input 10 numbers:\n"); for(i=0;i&lt;10;i++) scanf("%d",&amp;a[i]); printf("\n"); for(j=0;j&lt;9;j++) /*进行9次循环 实现9趟比较*/ for(i=0;i&lt;9-j;i++) /*在每一趟中进行9-j次比较*/ if(a[i]&...

昂昂溪区15365991458: C语言中,从键盘输入10个数,从小到大排列输出,怎么写啊,最好注明语句的意思? -
市斩蒲参: #include void swap(int *a,int *b){ int tmp; tmp = *a; *a = *b; *b = tmp;...

昂昂溪区15365991458: C语言数组(排序算法)随机输入10个整数,将其从大到小排序并输出.源程序保存为p6 - 4.c. -
市斩蒲参: #include int main() { int a[10],i,j,t; printf("请输入10个整数\n"); for(i=0;i { scanf("%d",&a[i]); } for(j=8;j>=0;j--) { for(i=0;i { if(a[i] { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } } } printf("这十个整数从大到小输出为\n"); for(i=0;i { printf("%d ",a[i]); } return 0; }

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