习题7-1 选择法排序 (20 分)

本题要求将给定的n个整数从大到小排序后输出。

输入格式:

在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。

输入样例:

4
5 1 7 6

输出样例:

7 6 5 1

答案一(使用函数的版本):

#include<stdio.h>
#define MAXN 10//因为题目说不超过10个,故下此宏定义
int arrage(int a[],int n);//函数定义
int main(void)
{int a[MAXN],i,n;scanf("%d",&n);for(i=0;i<n;i++)//利用循环输入数组{scanf("%d",&a[i]);}arrage(a,n);//利用函数对数组排序for(i=0;i<n-1;i++)//利用循环输出数组(n-1是为了最后单独输出最后一个数字避免行末出现多余空格){printf("%d ",a[i]);} printf("%d",a[i]);//由于题目最后不能留有空格,故最后一个数字单独输出return 0;
}
int arrage(int a[],int n)
{int i,index,j,temp;for(i=0;i<n-1;i++){index=i;//记录每次比大小的首位的下标for(j=i+1;j<n;j++)//利用循环和上述首位的后面的所有位比大小{if(a[j]>a[index]){index=j;//记录大的那一方的下标(题目要求从大到小,当然从小到大排,最后从后往前输出也是可以的)}}temp=a[index];//交换两个数字a[index]=a[i];a[i]=temp;}return a[n];//返回排列好的数组
}

答案二(未使用函数的版本):

Ps:未使用函数的版本其实大部分来源于上面使用函数的部分。

#include<stdio.h>
#define MAXN 10//因为题目说不超过10个,故下此宏定义
int main(void)
{int a[MAXN],i,n,index,j,temp;scanf("%d",&n);for(i=0;i<n;i++)//利用循环输入数组{scanf("%d",&a[i]);}for(i=0;i<n-1;i++)//对数组排序{index=i;for(j=i+1;j<n;j++){if(a[j]>a[index]){index=j;}}temp=a[index];a[index]=a[i];a[i]=temp;}for(i=0;i<n-1;i++)//利用循环输出数组(n-1是为了最后单独输出最后一个数字避免行末出现多余空格){printf("%d ",a[i]);} printf("%d",a[i]);//单独输出最后一个数字(没有空格)return 0;
}

PTA习题7-1 选择法排序 (20 分)相关推荐

  1. 习题7-1 选择法排序 (20 分)

    方法一:直接插入排序 #include<stdio.h> #include<math.h> #include<string.h> int main(){int a[ ...

  2. 实验7-1-5 选择法排序 (20分)

    本题要求将给定的n个整数从大到小排序后输出. 输入格式: 输入第一行给出一个不超过10的正整数n.第二行给出n个整数,其间以空格分隔. 输出格式: 在一行中输出从大到小有序的数列,相邻数字间有一个空格 ...

  3. 7-27 冒泡法排序 (20 分)

    7-27 冒泡法排序 (20 分) 将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们.通过一遍扫描,则最后一个元素必定是最大的 ...

  4. 5-27 冒泡法排序 (20分)

    5-27 冒泡法排序   (20分) 将NN个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们.通过一遍扫描,则最后一个元素必定是最 ...

  5. PTA-6-3 使用函数的选择法排序 (25分)(C语言)

    本题要求实现一个用选择法对整数数组进行简单排序的函数. 函数接口定义: void sort( int a[], int n ); 其中a是待排序的数组,n是数组a中元素的个数.该函数用选择法将数组a中 ...

  6. PTA——基础编程题 | 7-27 冒泡法排序 (20分)

    题目描述 将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们.通过一遍扫描,则最后一个元素必定是最大的元素.然后用同样的方法对前 ...

  7. 7-30 字符串的冒泡排序 (20 分) or 7-27 冒泡法排序 (20 分)

    将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们.通过一遍扫描,则最后一个元素必定是最大的元素.然后用同样的方法对前N−1个元 ...

  8. 数组测验1 7-5 冒泡法排序 (20 分)

    将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们.通过一遍扫描,则最后一个元素必定是最大的元素.然后用同样的方法对前N−1个元 ...

  9. 使用函数的选择法排序

    2-6-5 使用函数的选择法排序(25 分) 本题要求实现一个用选择法对整数数组进行简单排序的函数. 函数接口定义: void sort( int a[], int n ); 其中a是待排序的数组,n ...

最新文章

  1. 关于集体生活和个人生活的思考
  2. [MySQL]--gt;查询5天之内过生日的同事中的闰年2月29日问题的解决过程
  3. Qt文档阅读笔记-Multicast Receiver Example与Multicast Sender Example解析
  4. mysql 5.5.42,mysql-5.1.42安装完成后,出现如下错误的解决办法
  5. VB案例:计算圆锥体积与面积
  6. JavaScript 中的相等检测
  7. CodeForces - 1521B Nastia and a Good Array
  8. python零基础入门视频免费-阿里云免费推出Python零基础入门在线教程视频
  9. session简单学习2
  10. ps用计算机,教你用photoshop绘制计算器
  11. 使用iMazing将iPad中的视频文件导出至电脑
  12. 【3D建模】2020最好用的3款3D建模软件!新手入门必备建模软件!
  13. Payment支付平台API接口文档
  14. 这10部功夫片曾拿到金像奖最佳动作设计奖,李连杰主演的就有4部
  15. Bloodsucker ZOJ-3551 期望DP
  16. PHP isset()与empty()的区别
  17. 测试进阶必备,这5款http接口自动化测试工具简直不要太香~
  18. php扇形统计图怎么做,PHP实现绘制3D扇形统计图及图片缩放实例_php实例
  19. ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
  20. matlab画最小二乘线,matlab非线性最小二乘法求解 - 计算模拟 - 小木虫 - 学术 科研 互动社区...

热门文章

  1. cs101计算机科学入门,新课上线 | CS 101: 计算机科学导论
  2. 前端 html 、 js 、css 面试题
  3. 2017.1.28打卡 距NOI184天 cf体验(雾)
  4. DirectX for DirectShow---Get Start
  5. 考研更难了吗?2023年全国考研人数达474万,考录比约为4:1 | 美通社头条
  6. 对于无法使用altium导入向导导入allegro文件从Allegro(.brd)文件转altium(.PcbDoc)文件的方法
  7. 入门JAVA第六天 面向对象
  8. 图形功能如此强大的报表工具,你确定不用吗
  9. DB2报错数据库错误sqlcode大全sqlstate-总结
  10. Nosql复习笔记,教材《NoSQL数据库入门与实践》