C语言~十个数字从小到大怎么排列~从大到小呢~

作者&投稿:荡柯 (若有异议请与网页底部的电邮联系)
C语言选择法排序任意输入十个数:(从大到小;从小到大)~

#include
main(void)
{
int i,j,a[10],p=0,t=0,temp;

printf("请输入原数组:
");
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]) //这是由小到大排序 如果是大到小则改为 if(temp<a[i])
{temp=a[i];p=i;}
{temp=a[p];a[p]=a[t];a[t]=temp;}
}

printf("排序后的数组为:
");
for(j=0;j<10;j++)
printf("%d ",a[j]);
}

用选择排序法编写c语言,实现从键盘上输入10个数,按从大到小的顺序排序输出。代码如下:
#include
int main()
{
int i,j,a[10],t;
printf("输入数");
for (i = 0; i < 10; i++)
scanf("%d",&a[i]);
for (i = 0; i < 10; i++)
{
for (j = i + 1; j < 10;j++)
if (a[i] < a[j]){
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
printf("从大到小");
for (i = 0; i < 10; i++)
printf("%2d", a[i]);
return 0;
}

扩展资料:
代码还可以设计,如下:
#include
int main()
{
int a[10],i,j,t;//定义数组;
for(i=0;i<10;i++){
scanf("%d",&a[i]);//给数组赋值;
}
for(i=0;i<9;i++)//10个数,进行9轮比较;
for(j=0;j<10-i;j++){//第一个数比较9次,依次递减;
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]);//输出数组的值;
}
return 0;
}
}
printf("the sorted numbers:
");
for(i=0;i<10;i++)
printf(" %d",a[i]);
printf("
");
}
参考资料:百度百科-printf

//要求任意输入10个数,然后按从小到大顺序输出
#include <stdio.h>
int main()
{
int a[10];
int i,j;
int temp;
printf("请输入10个整数:");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<9;i++)
{
for(j=0;j<9-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
printf("排列后顺序为:");
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
printf("
");
return 0;
}



用数组来存放十个数字,使用“冒泡排序”来实现排序。10个数字需进行9轮扫描,每次扫描时比较相邻的二个数,如它们不符合要求的大小关系,就交换它们的位置。第一轮扫描结束时,最大的数就“沉”到最后。于是第二的范围就少了一个数。再进行第二两栖型、第三轮,…——直到第9轮就完成了。最后输出结果。

#include<stdio.h>

int main()

{

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

printf("请输入10个整数:
");

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

  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;

 }

printf("排序以后的数:
");

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

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

printf("
");

system("pause");

 return 0;

}

如果要从大到小排,只要把上面的交换条件

if(a[j]>a[j+1])换为

if(a[j]<a[j+1])就可以了。



菜鸟到什么程度啊?如果学过循环之后还行,没学循环的话应该没法做10个数的太麻烦了。比如3个数从大到小排序
main()
{
int a,b,c,t;
scanf("%d%d%d",&a,&b,&c);
if(a<b){t=a;a=b;b=t}
if(a<c){t=a;a=c;c=t}
if(b<c){t=b;b=c;c=t}
printf("%3d,%3d,%3d",a,b,c);
}
就是一个一个数比较
如果学了循环和数组的话我只会3种:选择法,顺序法,冒泡法。(从小到大)
顺序法(好像叫这个)
for(i=0;i<10;i++)
for(j=i+1;j<10;j++)
if(a[i]>a[j])
{k=a[i];
a[i]=a[j];
a[j]=k;
} 原理是用第一个数和后面的比如果比第一个小,他俩就交换值,继续比较如果还有比交换后的第一个数更小的继续交换值一次一直比到最后一个数,这是第一个数是10个数中最小的数,然后从第2个数开始比较同理第2个数是剩下的9个数中最小的数,以此类推从小到大排序。
选择法(和上面的差不多,只不过执行的步骤少点,如果大量的数做比较,比上面的节省时间)
for(i=0;i<10;i++)
{t=i;
for(j=i;j<10;j++)
if(a[t]>a[j]) t=j;
if(t!=i)或if(t==j)
{j=a[i];
a[i]=a[t];
a[t]=j;
}
冒泡发(我觉得这个方法不好!有不同观点可以无视这句话!)
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;}
原理是相邻的2个数比较,把大的数放后面,一次比较,循环一次就把最大的放到最后一位上了,然后在循环一次把第二大的放到倒数第二位,一次……

不明白发信息哈!如果没学循环可能觉得比较麻烦,学完就觉得简单了,不着急!!!

//用一维数组来排序,3个以上的数
#include<stdlib.h>
#include<stdio.h>
main()
{
int a[10];
int i,j,temp;
for(i=0;i<=9;i++)
scanf("%d",&a[i]);

for(i=0;i<=9;i++)
for(j=i;j<=9;j++)
if(a[i]>a[j])//从小到大这样排。要从大到小,换成a[i]<a[j]
{
temp=a[i];//这三行是经典。又叫冒泡法。请注意
a[i]=a[i+1];
a[i+1]=temp;
}

for(i=0;i<=9;i++)
printf("%d\t",a[i]);
system("pause");}

冒泡法

1楼的那个所谓经典三行,应该是两个变量的值的交换吧```
真正的冒泡法就是他写的中间那一块.
理解起来很简单:
有n个数,从第n个数开始和前面的数比较n-1次,如果比前面的数大,就交换位置,否则位置不变.然后这样比较n-1次,顺序就出来了.
和一楼的兄弟潜水去游泳,然后在水底吐泡泡一个道理...

加油哟`~


C语言~十个数字从小到大怎么排列~从大到小呢~
\/\/要求任意输入10个数,然后按从小到大顺序输出#include <stdio.h>int main(){int a[10];int i,j;int temp;printf("请输入10个整数:");for(i=0;i<10;i++){scanf("%d",&a[i]);}for(i=0;i<9;i++){for(j=0;j<9-i;j++){if(a[j]>a[j+1]){temp=a[j];a[j]=a[...

C语言~十个数字从小到大怎么排列~从大到小呢~
用数组来存放十个数字,使用“冒泡排序”来实现排序。10个数字需进行9轮扫描,每次扫描时比较相邻的二个数,如它们不符合要求的大小关系,就交换它们的位置。第一轮扫描结束时,最大的数就“沉”到最后。于是第二的范围就少了一个数。再进行第二两栖型、第三轮,…——直到第9轮就完成了。最后输出...

幼儿园1一10数字顺口溜儿歌有哪些?
1像铅笔能写字,2像小鸭水中游,3像双耳听声音,4像红旗迎风飘,5像秤砣称斤两,6像哨子吹声音,7像镰刀来割草,8像麻花拧一道,9像蝌蚪尾巴摇,10像铅笔加鸡蛋。第二首数字歌谣:1间房,2块糖,3把伞,4把枪,5副眼镜,6碗汤,7只兔子,8头象,加上9朵小红花,10个娃娃喜洋洋。第三首数字...

数字1—10在各种语言里的写法
西语 葡语 1 uno um 2 dos dois 3 tres três 4 cuatro quatro 5 cinco cinco 6 seis seis 7 siete sete 8 ocho oito 9 nueve nove 10 diez dez 不过如果你想要的是土著语言的话,现在估计已经没多少人懂了。

C语言将10个数字从小到大排列,为什么我的代码输入是1,2,3,4,5,6,7...
int a[10],i,n;printf("请输入数字:\\n");for(i=0;i<=9;i++){ scanf("%d",&a[i]);} void array(int x[],int n);array(a,10);printf("从小到大排列为:\\n");for(i=0;i<=9;i++){ printf("%d ",a[i]);} getch();return 0;} void array(int x[],int n){ in...

c语言 :用交换排序法对10个数据进行排序 从小到大 怎么做啊 ???_百...
1 创建数组。2 输入数据。3 交换法排序。4 输出结果。代码:int main(){ int a[10];int i,j,t;for(i = 0; i < 10; i ++)scanf("%d",a+i);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...

C语言中,从键盘输入10个数,从小到大排列输出,怎么写啊,最好注明语句的...
k[j]; k[j] = k[j+1]; k[j+1] = temp; } } } }int main(){ int i,a[10] = {0}; printf("请输入10个数字\\n"); for(i = 0; i<10;

请问:0,1,2,3,4,5,6,7,8,9,10,这十个数字用英文分别怎么写?
综述:0-zero, 1-one, 2-two, 3-three ,4-four ,5-five,6-six ,7-seven, 8-eight, 9-nine, 10-ten。英语是按照分布面积而言最流行的语言,但母语者数量是世界第三,仅次于汉语、西班牙语。它是学习最广泛的第二语言,是近60个主权国家的官方语言或官方语言之一。与英语为母语的人...

C语言编程 要求从大到小排列10个数字
{ temp=a[j];a[j]=a[j+1];a[j+1]=temp;} } for(i=0;i<=9;i++)printf("%d\\n",a[i]);return 0;} 其实就是个冒泡排序法,其思路为:遍历第一遍(范围0-9)选出最小的放在最后 遍历第二遍(范围0-8)选出最小的放在最后 。。。遍历9次,每次范围为0-(10-i)

c语言中用冒泡排序法排列下列十个数字从小到大1,3,6,8,2,7,9,0,4...
<stdio.h>int main(){ int a[10]={1,3,6,8,2,7,9,0,4,5};int i,j;for(i=0;i<10;i++){ for(j=0;j<9-i;j++){ if(a[j]>a[j+1]){ int t=a[j];a[j]=a[j+1];a[j+1]=t;} } } for(i=0;i<10;i++){ printf("%d ",a[i]);} return 0;} ...

镇康县13646239757: 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 25 26 27 28 29 30# include <stdio.h> #define N 10//元素个数 voidsort(inta[], intn)//排序函数 {inti=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] = ...

镇康县13646239757: C语 从键盘输入10个数,要求按从小到大排列出来 -
仰佳银丹: #include "stdio.h" //冒泡法 由小到大排序main() { int i,j,a[10],temp; for(i=0;i<10;i++) scanf("%d",&a[i]); printf("\n"); for(j=0;j<9;j++) for(i=0;i<9-j;i++) if(a[i]>a[i+1]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; } for(i=0;i<10;i++) printf("%d ",a[i]); printf("\n"); }

镇康县13646239757: C语言~十个数字从小到大怎么排列~从大到小呢~ -
仰佳银丹: 用数组来存放十个数字,使用“冒泡排序”来实现排序.10个数字需进行9轮扫描,每次扫描时比较相邻的二个数,如它们不符合要求的大小关系,就交换它们的位置.第一轮扫描结束时,最大的数就“沉”到最后.于是第二的范围就少了一个...

镇康县13646239757: C语言编写程序,对10个整数按由小到大进行排序. -
仰佳银丹: #include void sort(int *data,int len) { int i,j,k; for(i=1;i{ k=data[i]; for(j=i-1;j>-1;j--) if(data[j]>k)data[j+1]=data[j]; else { data[j+1]=k; break; } if(j==-1)data[0]=k; } } int main () { int a[10]={1,6,5,2,3,4,7,8,9,5}; int i; sort(a,10); for(i=0;i<10;i++)printf("%d ",a[i]); printf("\n"); return 0; }

镇康县13646239757: 用C语言编程:从键盘中输入10个整数,并将这些数按从小到大顺序排列. -
仰佳银丹: #include<stdio.h> void main(){ int num[10],i,j,temp; for(i=0;i<10;i++){ printf("请输入百第度%d个数知:",(i+1)); scanf("%d",num[i]); } for(i=0;i<10;i++){ for(j=0;j<10-i;j++){ if(num[j]>num[j+1]){ temp=num[j]; num[j]=num[j+1]; num[j+1]=temp; } ...

镇康县13646239757: 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]&...

镇康县13646239757: C语言 编程序 用选择法对10个数按从小到大的顺序排列. -
仰佳银丹: #include void main() { int a[10]; int i,j,t; printf("input 10 numbers:\n"); for(i=0;i scanf("%d",&a[i]); for(i=0;i for(j=0;j if(a[i]>a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } printf("the sorted numbers:\n"); for(i=0;i printf("%d",a[i]); printf("\n"); }

镇康县13646239757: 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]) //这是由小到大排序 如果是大到小则改...

镇康县13646239757: C语言如何输入十个数,按从小到大顺序排列!为什么我的程序不对请你们看看. -
仰佳银丹: #include <stdio.h> int main() { int a[10]; int i,j; int t; printf("请输入10个整数:"); for(i=0;i<10;i++) { scanf("%d",&a[i]); } for(i=0;i<10;i++) { for(j=i+1;j<10;j++) // if(a[i]>a[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } } printf("排列后顺序为:"); for(i=0;i<10;i++...

镇康县13646239757: C语言中,从键盘输入10个数,从小到大排列输出,怎么写啊,最好注明语句的意思? -
仰佳银丹: #include void swap(int *a,int *b){ int tmp; tmp = *a; *a = *b; *b = tmp;...

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