第四周总结

第四周作业

这次作业属于哪个课程C语言程序设计
这个作业要求在哪里第四周作业
我的课程目标全部学会
这个作业在那个具体方面帮助我实现目标深入了解二维数组
参考文献教科书

一,基础作业

程序填空题5-1

输入一个正整数 n (1≤n≤10)和n 阶方阵a的元素,如果方阵a中的所有元素都沿主对角线对称,输出“Yes”, 否则,输出“No”。主对角线为从矩阵的左上角至右下角的连线,方阵a中的所有元素都沿主对角线对称指对所有i, k,a[i][k]和a[k][i]相等。输入输出示例如下:

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

流程图

1580673-20190322170756569-1692998961.jpg

本题调试遇到的问题及其解决方法

问题1,代码的前部分是在从小到大排数字,而题目是从大到小输出数字

解决方法,在输入数组时,可以从后往前输出!

问题2,题目要求输出的数字行末不得有多余的空格

解决方法,最后一个数字单独输出!

截图

1580673-20190322163655671-1052019434.png

程序设计题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

代码

#include<stdio.h>
int main ()
{int n,i,j,c,b,g; int a[6][6];scanf("%d",&n);for (i=0;i<n;i++) {for (j=0;j<n;j++) {scanf("%d",&a[i][j]);}scanf("\n");}g=0;for (i=0;i<n;i++) {b=0;for (j=b+1;j<n;j++) {if (a[i][b]<a[i][j]){b=j;}c=i;for (i=0;i<n;i++) {if(a[i][b]>=a[c][b]){break;}else {g=1;printf("%d %d",c,b);}}}if(g==0) {printf("NONE");}}return 0;
}

2)设计思路

我还是简单用文字介绍我的设计思路吧。先在行中找到最大值,再从该最大值所在的列判断该数是不是在该列中是最小值!其中的“if(i==temp)”是用来判断是不是鞍点,因为鞍点的行数等于列数!

3)本题调试过程中遇到的问题及其解决方法

问题1,“最大规模,有并列极值元素,最后一个是鞍点”

截图

1580673-20190322165038146-481185415.png

流程图

1580673-20190322170816882-1742800952.jpg

本题调试遇到的问题及其解决方法

问题1,代码的前部分是在从小到大排数字,而题目是从大到小输出数字

解决方法,在输入数组时,可以从后往前输出!

问题2,题目要求输出的数字行末不得有多余的空格

解决方法,最后一个数字单独输出!

挑战题

7-1 冒泡法排序 (10 分)

输入1个正整数n(1<=n<=10),然后输入n个整数并存放在数组中,将这n个整数从大到小排序后输出,相邻数字间有一个空格,行末不得有多余空格。
输入格式:
输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。
输出格式:
在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。
输入样例:

4 
75 71 77 76

输出样例:

77 76 75 71

实验代码

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

本题调试遇到的问题及其解决方法

问题1,代码的前部分是在从小到大排数字,而题目是从大到小输出数字

解决方法,在输入数组时,可以从后往前输出!

问题2,题目要求输出的数字行末不得有多余的空格

解决方法,最后一个数字单独输出!

流程图

第四周挑战题.jpg
1580673-20190322174507799-1270735452.jpg

截图

1580673-20190322174656149-769191569.png

学习总结

周/日期这周所花的时间代码行学到的知识点简介目前比较困惑的问题
3/9-3/153d100文件建立及其文件的利用
3/15-3/184d150二位数组和暴力解法最大子数组最优的解法是什么,如何降低时间复杂度
3/18-3/195d250选择排序法我没有完全消化选择排序法的思路

转载于:https://www.cnblogs.com/Floating-dream/p/10579061.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/248300.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2019春季学期第四周作业

2019春季学期第四周作业 这个作业属于那个课程C语言程序设计Ⅰ这次作业要求在哪里2019春季学期第四周作业我在这个课程的目标是我希望能够更加掌握循环和排序参考文献无选择法排序 本题要求将给定的n个整数从大到小排序后输出。输入格式&#xff1a; 输入第一行给出一个不超过1…

javaScript第二天(2)

02JavaScript基础随堂笔记 01.运算符[☆] 知识点-算数运算符 作用就是进行 加, 减, 乘, 除 , 取余运算的 算数运算符的重点是通过算数运算和可以实现类型转换 加号可以实现数据类型转换: 一个数字和一个空字串相加最后的结果就是字符串减号也可以实现数据类型转换乘法符号也可…

MFC中的基本知识

转载于:https://www.cnblogs.com/o8le/archive/2012/05/21/2512178.html

Python中字符串操作函数string.split('str1')和string.join(ls)

Python中的字符串操作函数split 和 join能够实现字符串和列表之间的简单转换&#xff0c; 使用 .split()可以将字符串中特定部分以多个字符的形式&#xff0c;存储成列表 1 def split(self, *args, **kwargs): # real signature unknown2 """3 …

javaScript第三天(1)

03-JavaScript基础 1.核心知识点 分支语句 【重点】断点调试 [查看程序逻辑的一个技能]循环语句[重点 ☆☆☆] 2.今日学习目标 能够掌握条件判断分支语句能够掌握switch分支语句能够掌握三元表达式分支语句能够掌握循环语句 条件判断&#xff08;分支&#xff09; 语法 //…

关于单链表的头插法和尾插法

#include<stdio.h>#include<stdlib.h> typedef struct Node { // 定义的链表类型 int data; struct Node *next; }LNode , *Linklist; void print(Linklist L){ //这是一个将链表数据输出的函数 Linklist temL; whi…

javascript第三天(2)

03JavaScript基础课堂笔记 01-分支语句 知识点-多条件判断分支语句 语法 if(条件) {代码1 }else if(条件) {代码2 }else if(条件) {代码3 }else {代码4 }执行过程 1. 代码自上而下执行 2. 程序先判断第一个条件是否成立 true 还是 false 3. 如何第一个条件的结果是 true,那么就…

男生英文名大全

起个好听的英文名很重要吆&#xff01;既要好记&#xff0c;好听又要富有寓意。。。 AARON (希伯来)启发的意思&#xff0c;AARON被描绘为不高但英俊的男人&#xff0c;诚实刻苦具有责任感&#xff0c;是个有效率个性沉靜的领导者。 ABEL (希伯来)"呼吸"的意思&am…

Codeforces Round #548 (Div. 2) A. Even Substrings

You are given a string ??1?2…??ss1s2…sn of length ?n, which only contains digits 11, 22, ..., 99. A substring ?[?…?]s[l…r] of ?s is a string ????1??2…??slsl1sl2…sr. A substring ?[?…?]s[l…r] of ?s is called even if the number r…

VI编辑器常用命令

vi —终端中的编辑器 vi 简介 打开和新建文件 三种工作模式 常用命令 分屏命令 01. vi 简介 1.1 学习 vi 的目的 在工作中&#xff0c;要对 服务器 上的文件进行 简单 的修改&#xff0c;可以使用 ssh 远程登录到服务器上&#xff0c;并且使用 vi 进行快速的编辑即可 常见…

kubectl 常用命令

1. 查看镜像定义的内容 docker image inspeck 镜像名:版本 2. 查看可回滚历史 # myapp-deploy 指定哪个 deployment kubectl rollout history deployment myapp-deploy 3. 回滚到上一个版本 # rollout undo 回滚到上一版本的 deployment kubectl rollout undo deployment mya…

javaScript基础讲义第四天(1)

05-javaScript基础 核心知识点 数组操作字符串方式获取系统时间Math相关方法 今日目标 能够完成数组相关案例能后获取系统时间能够操作随机数能够完成小娜案例**[最终的目标]** 数组 思考如果我们希望同时保存多条数据该怎么办&#xff1f;【例如&#xff1a;如何将班上所…

20175213 2018-2019-2 《Java程序设计》第4周学习总结

## 教材学习内容总结 在第四周的学习过程中&#xff0c;我学习了第五章的内容。 第五章内容总结&#xff1a; 1.子类继承的方法只能操作子类继承和隐藏的成员变量。 2.子类和父类在同一包的继承性 子类自然继承了其父类中不是private的成员作为自己的成员。 3.子类和父类不在同…

Machine Schedule为什么UVA过了POJ过不了

UVA1194 POJ1325 POJ要多判一个非零&#xff01;&#xff01;&#xff01; #include<cstdio> #include<vector> #include<cstring> using namespace std; vector<int>e[105]; int vis[105]; int link[105]; int t; int find(int x) {for(int i0;i<e…

课堂笔记

javaScript基础 01.数组 复习数组 数组的意义 程序中可能会遇到一次保存多条数据情况,使用数组解决问题.数组也是一个保存数据的一个容器定义 通过字面量方式定义数组(推荐) var ary [];通过构造函数定义数组(了解) var ary new Array();赋值 通过索引的方式给数组赋值 va…

写一个使两个整数进行交换的方法(不能使用临时变量) 【前端每日一题-27】...

写一个使两个整数进行交换的方法&#xff08;不能使用临时变量&#xff09;这道题是一个比较有意思的题&#xff0c;记录于此。var a10; var b20;...不用临时变量让a和b交换console.log(a); console.log(b);复制代码es6 对象扩展[a,b][b,a];复制代码利用执行顺序aab; ba-b; aa-…

CS 320—Week 8 Homewor

CS 320—Week 8 Homework—Due W 3/27 11:59pmWrite your answers to the problems in the space indicated. Scan your solution and submitto Gradescope as a PDF file. You will receive an email about the Gradescope account.You may do this from your phone using fre…

javascript随堂练习(分支,循环语句)

var flag true;//while语句执行&#xff1a;while(flag){//获取用户输入选择信息号码&#xff1a;&#xff08;字符串中的 \n 为换行的效果&#xff09; var num prompt(你好,我是小娜\n请输入编号或者关键词选择功能,输入Q(q)退出聊天\n1.计算\n2.时间\n3.笑话) // 利用swit…

vue组件间函数调用

vue父子组件间函数调用 <Child ref"myChild"></Child> // 父组件 // 引入子组件 import Child from ./Child export default {// 注册子组件components: {Child},created () {// 调用子组件中的childMethod&#xff0c;并且传递参数data&#xff0c;需要…

Cocoapods pod update执行失败报错CocoaPods was not able to update the `master` repo.2019的解决...

很久没动pod&#xff0c;最近更新发现&#xff1a; CocoaPods报CocoaPods was not able to update the master repo. If this is an unexpected issue and persists you can inspect it running pod repo update --verbose错误。 使用命令pod repo update --verbose依然 不行&a…