中易网

求C/C++高手,解答C语言排序题目,高分送

答案:6  悬赏:70  
解决时间 2021-02-19 21:42
求解:C程序代码是读入10个数,并对这10个数进行从大到小排序,其排序方法是:用第1个数与后9个数进行比较,选出最大的数排在第1位;然后用第2个数与后8个数进行比较,选择出最大的数排在第2位,依次类推,直到完成顺序

请帮助作出解答代码,如果能写出排序的方法和思路更好,十分感谢
最佳答案
#include<stdio.h>
#define N 10
void main()
{ int a[N],i,j,k;
for ( i=0;i<N;i++ ) scanf("%d",&a[i]);
for ( i=0;i<N-1;i++ ) //从第1个数到倒数第2个数,存放之后最大的数
for ( j=i+1;j<N;j++ ) //每次i循环计算从第i个数开始直到最后一个数
if ( a[i]<a[j] ) { k=a[i]; a[i]=a[j]; a[j]=k; } //用每次循环的第1个数与之后的所有数比较
//如果发现有比第1个数大的就交换一下
//这样j循环之后第i个数必然是之后最大的一个了
for ( i=0;i<N;i++ ) printf("%d ",a[i]); printf("\n");
}
全部回答
#include <stdio.h> void main()  {   int i, j, temp;   int a[10];   for (i = 0; i<10; i++)    scanf("%d,", &a[i]);   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("%5d,", a[i]);   printf("\n");  } 冒泡排序算法的运作如下:(从后往前) 1比较相邻的元素。如果第一个比第二个小,就交换他们两个。 2对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素  应该会是最大的数。 3针对所有的元素重复以上的步骤,除了最后一个。 4持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
采用选择排序算法: #include <stdio.h> #define N 10 int main() { int a[N]; printf("请输入10个数:\n"); for(int i=0;i<N;i++) { scanf("%d",&a[i]); } int i, j, d; int temp; for(i = 0; i < N - 1; ++i) { d = i; //开始一趟排序,假定第i个元素是后面n - i + 1个未排序的元素中最大的元素 for(j = i + 1; j < N; ++j) if(a[j] > a[d]) //如果发现比当前最大元素还大的元素,则更新记录最大元素的下标d d = j; if(d != i) //如果最大元素的下标不是后面n - i + 1的未排序序列的第一个元素,则需要交换第i个元素和后面找到的最大元素的位置 { temp = a[d]; a[d] = a[i]; a[i] = temp; } } printf("从大到小排序后的结果:\n"); for(int i = 0; i < N; ++i) { printf("%d ", a[i]); } printf("\n"); }
#include <stdio.h> int main() {     int a[10],i,j,t,n = 10;     printf("输入10个数:");     for(i = 0;i < n;i++) scanf("%d",&a[i]); for(i = 0;i < n - 1;i++) { for(j = i + 1;j < n;j++) { if(a[j] > a[i]) { t = a[i]; a[i] = a[j]; a[j] = t; } } } for(i = 0;i < n;i++) printf("%d ",a[i]); printf("\n"); return 0; }
#include<iostream> using namespace std; void main() { int a[10],i,j,t; cout<<"输入10个数:"; for(i=0;i<10;i++)  cin>>a[i]; for(i=0;i<10;i++) { for(j=i;j<10;j++) if(a[j]>a[i]) { t=a[i]; a[i]=a[j]; a[j]=t; } }  for(i=0;i<10;i++) cout<<a[i] << " "; }这是典型的冒泡排序算法。百度“冒泡排序”,方法、思路、代码一大堆,不赘述了。
//今天没有时间了,过几天吧 typedef struct computer{ info *next; int do;//有人正在用为1,有人将要用为2,空机为0 }computer, c[20]; typedef struct info{ long date;//什么时间,格式如200807131850 int num;//几个时间段 info *next;//接一下 long tel;//电话 }; void init(computer c[],int n) {//初始化 int i; for(i=0;i=(date+num*2*100)) ||qt.next==null) { q=(info*)malloc(sizeof(info)); *q.date=date; *q.num=num; *q.tel=tel; q.next=c[i].next; c[i].next=q.next; c[i].do=2; return i; } return (-1); } } } int del(int i,long date, int num) { info *qt,*q; for(qt=c[i].next;*qt!=null;qt=qt.next) { if(*qt.date==date&&qt.num==num) { qt.next=qt.next.next; free(qt); if(c[i].next==null)c[i].do=0; return ok; } } } void currnt(computer c[]) { for(i=0;i=date) c[i].do=1; } } void input(char inster){ info in; if(inster=='i' || inster=='i'){ printf("输入你的要上的时间(格式如200807151630),时间段(如:2),电话如:02088888888\n"); scanf("%l%d%d".in.date,in.num,in.tel); i=search(in.date, in.num,in.tel , n, c); if(i<0){printf("对不起,现在没有符合你要求的机子\n");} else printf("你的机子是%d\n",i); } #include #define ture 1 #define ok 1 main() {//还有一个什么等待的是什么,我不明白 int n; info in; long seelp; seelp=0; n=20;//20台机 init( c, n); printf("1. 想预约吗?是(i or i);\n"); printf("2. 你想取消预约吗?是(d or d);\n"); while(ture){ c=getchar(); switch(c){ case 'i': case 'i': input(c); break; case 'd': case 'd': printf("输入你的要上的时间(格式如200807151630),时间段(如:2),电话如:02088888888\n"); scanf("%l%d%d".in.date,in.num,in.tel); del(in); break; } if(seelp++==1000000000) {//先睡睡 currnt( c); seelp=0; } } } } }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
结婚十年了,老公令我太失望了,一年挣三万都不
帝豪商务宾馆地址在什么地方,想过去办事
哈飞赛马1.6和比亚迪L3哪个好
收到offer后,该不该再继续参加面试
茅山镇农贸市场(旧)地址在什么地方,想过去办
景德镇市五中新生录取名单
123574000米等于多少亿保留二位小数
分布均匀一个不均匀哪个的转动惯量大
聚美优品买的东西是一起送达还是会分开到?
余红家常菜饭店地址有知道的么?有点事想过去
360浏览器账号怎么退出
有没有跟吊棚一平带方块的灯具
用到氨水计算时相对分子质量什么时候用17什么
上海浦东新区惠南镇英语培训
硝洞埫在哪里啊,我有事要去这个地方
推荐资讯
为什么死神用镰刀?而不用别的?
本田雅阁7代的基本参数是多少?
南浔哪里有数码城
一些解方程应用题
蒙娜丽莎九格拼图游戏,安卓版的在哪下载,谁
枇杷有哪几种
苹果6splus调暖光哪里调
X137/稻香中路(路口)在哪里啊,我有事要去这
大连工业大学好吗?
山东淄博有哪些餐具陶瓷生产厂家?
额头前的碎发怎么处理 额头碎发打理方法
请问苹果7手机,录制视频后出现回放无声音、
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?