2019年春季学期第四周作业
这个作业属于哪个课程 | C语言程序设计 |
这个作业的要求在哪里 | 2019年春季学期第四周作业 |
我在这个课程的目标是 | 了解选择排序法和冒泡排序法的区别,熟练运用二分法查找法 |
这个作业在哪个具体方面帮助我实现目标 | 这个作业让我明白选择排序法和冒泡排序法的区别,让我对二维数组的定义和应用有了更深入的了解 |
参考文献 | 选择排序法和冒泡排序法的区别 |
一.本周完成的作用
基础作业
7-2 选择法排序 (20 分)
本题要求将给定的n个整数从大到小排序后输出。
输入格式:
输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。
输出格式:
在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。
输入样例:
4
5 1 7 6
输出样例:
7 6 5
1)运行代码
#include<stdio.h>
int main()
{int n,str[10];scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d",&str[i]);}//排序/*第一次比较:则是将数组的第一个元素与数组中从第二个元素开始到最后的元素进行比较找到最大的数记录下来然后将值赋值给数组的第一个元素,然后进行第二次比较:则是将数组的第二个元素与数组中从第三个元素开始到最后的元素进行比较,找最大的数记录下来将值赋值给数组的第二个元素。。。依次循环找完*/int dex;for(int i=0;i<n;i++){int k=i;for(int j=i+1;j<n;j++){if(str[j]>str[k]){k=j;}}dex=str[k];str[k]=str[i];str[i]=dex;}for(int i=0;i<n;i++){printf("%d",str[i]);if(i==n-1){return 0;}printf(" ");} }
2)设计思路
3)编程过程中遇到的问题及解决办法
问题:没有注意到行末不得有多余空格。
解决办法:仔细看题目后改正。
4)运行截图
7-1 找鞍点 (20 分)
一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。
本题要求编写程序,求一个给定的n阶方阵的鞍点。
输入格式:
输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。
输出格式:
输出在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点的位置。如果鞍点不存在,则输出“NONE”。题目保证给出的矩阵至多存在一个鞍点。
输入样例1:
4
1 7 4 1
4 8 3 6
1 6 1 2
0 7 8 9
输出样例1:
2 1
输入样例2:
2
1 7
4 1
输出样例2:
NONE
1)运行代码
#include<stdio.h>
int main()
{int n,str[6][6],fount=1;scanf("%d",&n);for(int i=0;i<n;i++){for(int j=0;j<n;j++){scanf("%d",&str[i][j]);}}for(int i=0;i<n;i++){int q=0,p=0;//找出i行最大数位于第几列 for(int j=1;j<n;j++){if(str[i][j]>=str[i][q]){q=j;}}//找出q列最小数位于第几行 for(int k=0;k<n;k++){if(str[k][q]<=str[p][q]){p=k; }}//判断最小数是否在原先的行上 if(p==i){fount=0;printf("%d %d",p,q);break;}}if(fount){printf("NONE");}
}
2)设计思路
3)编程过程中遇到的问题及解决办法
问题:当找到改行的最大数所在的列时,再找到该列的最小数,最后比较两个数大小是否相等。
解决办法:根据运行错误提示,发现有并列极值元素时,最后一个是鞍点。知道不能根据比较大小来判断是否为鞍点,要根据最大值和最小值的下标是否相同来判断是否为鞍点。
4)运行结果
挑战作业
7-1 冒泡法排序 (10 分)
输入1个正整数n(1<=n<=10),然后输入n个整数并存放在数组中,将这n个整数从大到小排序后输出,相邻数字间有一个空格,行末不得有多余空格。
输入格式:
输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。
输出格式:
在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。
输入样例:
4
75 71 77 76
输出样例:
77 76 75 71
1)运行代码
#include<stdio.h>
void bubble (int a[],int n);
int main()
{int n,a[10];scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d",&a[i]);}bubble (a,n);for(int i=0;i<n;i++){printf("%d",a[i]);//行末不得有多余空格。if(i==n-1){return 0;}printf(" ");}return 0;
}void bubble (int a[],int n)
{/*每相邻的两个数比较和交换,将较大的值赋给前一个数,将较小的值赋给后一个数,第一趟交换完毕后,最小的数便出现在数组的最后面,然后对余下的前n-1个数进行比较,一共要比较n-1趟*/for(int i=1;i<n;i++){for(int j=0;j<n-i;j++){if(a[j]<a[j+1]){int t=a[j];a[j]=a[j+1];a[j+1]=t;}}}
}
2)设计思路
3)编程过程中遇到的问题及解决办法
上一题我就是用的冒泡排序法,所以这题我没有遇到什么问题,基本一次性通过,只是题目没看清楚,将从大到小打成了从小到大。
4)运行结果
二.学习进度条
三.感悟
1.这次作业好多错误都是题目看错或者不能理解题目意思导致的,发现自己做题目还是不够细心,静不下心来,以后一定要改正这个缺点。
2.通过做题目的时间长度发现自己做题目的思路不够清晰,都是走一步算一步,没错做完都是错误百出,以后做题要先想好思路再打代码。
转载于:https://www.cnblogs.com/liu2687479342/p/10573464.html
2019年春季学期第四周作业相关推荐
- 2019年春季学期第四周作业Compile Summarize
这个作业属于哪个课程 C语言程序设计一 这个作业要求在哪里 2019春季学期第四周作业 我的课程目标 重新学习有关数组的问题 这个作业在哪个具体方面帮助我实现目标 对于置换有了新的见解 参考文献 中国 ...
- c语言输出行末不得有多余空格,2019年春季学期第四周作业
这个作业属于哪个课程 C语言程序设计Ⅱ 我在这个课程的目标是 暂时是提高自主编程能力 这个作业在哪个具体方面帮助我实现目标 提高我的思维能力 参考文献 C语言程序设计(第3版) 题目一 冒泡法排序 输 ...
- 2019春季学期第四周作业
2019春季学期第四周作业 这个作业属于那个课程 C语言程序设计Ⅰ 这次作业要求在哪里 2019春季学期第四周作业 我在这个课程的目标是 我希望能够更加掌握循环和排序 参考文献 无 选择法排序 本题要 ...
- 2019年春季学期第二周作业(文件指针)
2019年春季学期第二周作业(基础作业) 请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始).并将最大值和对应的最小下标数值写入文件. 输入: 请建立以自 ...
- 2019年春季学期第九周作业
A Q 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 2019春第九周作业 我在这个课程的目标是 了解并且应用结构体和数组的知识 这个作业在那个具体方面帮助我实现目标 掌握了数组的简单 ...
- 2019年春季学期第二周作业
7-2 求最大值及其下标 (20 分) 本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始). 输入格式: 输入在第一行中给出一个正整数n(1<n≤10).第二行输入n ...
- c语言程序设计课程总结600字,2019年春季学期《C语言程序设计II》课程总结
2019年春季学期<C语言程序设计II>课程总结 1.课程情况 2.课程总结 学生的课程总结: 本学期的目标 让课程形成模式,在较为清晰的教学内容的基础上,形成可持续性的教学管理方式,让同 ...
- 北师大c语言2019在线作业,华东石油《C语言》2019年春季学期在线作业(二)辅导答案...
1.C语言2019年春季学期在线作业(二)下列变量的定义及赋值正确的是A.inti=0;j;B.charc=A;C.doublex,y,z;x=y=z=100;D.floata=b=100;正确答案: ...
- 春学期C语言程序设计,2019年春季学期《C语言程序设计II》课程总结
2019年春季学期<C语言程序设计II>课程总结 ####1.课程情况 ####2.课程总结 ###学生的课程总结: ###本学期的目标 让课程形成模式,在较为清晰的教学内容的基础上,形成 ...
最新文章
- 为衣服添加NFC功能:挥下袖子就能安全支付,打开车门坐进去就能启动汽车|Nature子刊...
- 题目1112:拦截导弹
- 深度学习如何入门?怎么入门机器/深度学习?
- w7计算机不显示cdf盘,微软确认Win7SP1再现黑屏错误
- android edittext 不滚动,EditText 设置可以垂直滑动但是不可输入
- MySQL子查询作为列_mysql 列子查询
- 【vue项目使用echarts实现区域地图绘制,且可点击单独区域】
- TypeSDK免费手游多渠道SDK接入方案
- K - Repeating Decimals(循环小数)
- Window系统 安装TFLearn
- Talking Data副总裁高铎:我们如何赋予大数据生命力
- 向Spark的DataFrame增加一列数据
- RecyclerView混合布局
- 阿里云数据盘分区并挂载
- 使用Adobephotoshop制作LOGO
- 【Tensorrt】Tensorrt C++部署YOLO v5报错记录 Version tag does not match. Note: Current Version: xxx, Serializ
- MDCC2016 总结
- 尚在人间,何处不青春
- iPad谷歌浏览器怎么开摄像头_谷歌浏览器书签栏怎么显示_谷歌浏览器显示书签栏步骤...
- 【2020 ACM Fellow 华人学者】 陶宇飞 香港中文大学
热门文章
- 征战蓝桥 —— 2014年第五届 —— C/C++A组第10题——波动数列
- 大数据WEB阶段 TransientDateAccessResourceException
- ubuntu16.04安装ROS
- 【STM32】窗口看门狗
- cad导出pdf_通过CAD导出的文件或者由CAD导出的PDF文件打印慢
- 云计算具有什么平台_漫话:什么是云计算?
- asp连接mysql字符串_asp连接数据库字符串
- 神经网络前向引擎内存复用技术(基于caffe)
- 一个类及其对象初始化的过程
- 第七章_类_7.4 类的作用域(加了自己的总结部分)