題目1 選擇法排序

1.實驗代碼

#include <stdio.h>
#include <stdlib.h>
int main()
{int n,index,exchange,i,j;scanf("%d\n",&n);int num[n];for(index=0;index<n;index++)scanf("%d ",&num[index]);for(i=0;i<n-1;i++){for(j=i+1;j<n;j++){if(num[j]>num[i]){exchange=num[j];num[j]=num[i];num[i]=exchange;}elsecontinue;}}for(index=0;index<n;index++){if(index==0)printf("%d",num[index]);elseprintf(" %d",num[index]);}system("pause");return 0;
}

2.設計思路

(1)算法

第一步:輸入整數的個數n,定義數組num[n]

第二步:按照順序輸入整數存入num[n]

第三步:外循環變量i=0,內循環變量j=i+1

第四步:若num[i]<num[j],則交換num[i]和num[j]

第五步:j++,若j>=n,則i++,若i>=n-1,則下一步,否則跳到上一步

第六步:輸出num[n]中的數,第二個數開始前面跟上空格

(2)流程圖

3.本題調試過程碰到問題及解決辦法

(注:圖片在保存後成了問號,沒有副本)

問題:在做交換時,內外循環都用了一個循環變量,導致進行完第一次內循環外循環就停止了

解決辦法:在內外循環中使用兩個不同的循環變量

題目2 輸出數組元素

1.實驗代碼

#include <stdio.h>
#include <stdlib.h>
int main()
{int n,index,difference;scanf("%d\n",&n);int num[n];for(index=0;index<n;index++)scanf("%d ",&num[index]);for(index=1;index<n;index++){difference=num[index]-num[index-1];printf("%d",difference);if(index+1==n)printf("\n");else if(index%3!=0)printf(" ");elseprintf("\n");}system("pause");return 0;
}

2.設計思路

(1)算法

第一步:輸入整數元素個數n

第二步:按照順序輸入整數存入num[n]中

第三步:循環變量index=1,若index<n,則後項減前項的差difference=num[index]-num[index-1],輸出difference,否則結束

第四步:若index+1=n,則輸出回車,否則判斷index mod 3不等於0,若是則輸出空格,否則輸出回車

第五步:index++,跳到第三步

(2)流程圖

3.本題調試過程碰到問題及解決辦法

(注:圖片在保存後成了問號,沒有副本)

問題:輸出元素時最後一個不是三的倍數會輸出空格,第一個數也會輸出空格

解決辦法:判斷輸出的這個數是不是最後一個數,如果是的話就輸出回車,不是的話就判斷輸出的元素是不是3的倍數

題目3 數組元素循環右移問題

1.實驗代碼

#include <stdio.h>
#include <stdlib.h>
int main()
{int N,M,index,exchange;scanf("%d %d\n",&N,&M);int num[N],item[N];for(index=0;index<N;index++)scanf("%d ",&num[index]);for(index=0;index<N;index++){if(index+M>=N)item[(index+M)%N]=num[index];elseitem[index+M]=num[index];}for(index=0;index<N;index++){if(index==0)printf("%d",item[index]);elseprintf(" %d",item[index]);}system("pause");return 0;
} 

2.設計思路

(1)算法

第一步:輸入兩個正整數元素個數N,右移位數M

第二步:按照順序輸入各個整數存入num[N]中

第三步:循環變量i=0

第四步:若i>=N,跳到第七步

第五步:若i+M>=N,則項item[(i+M) mod N]=num[i],否則item[i+M]=num[i]

第六步:i++,跳到第四步

第七步:輸出item[index],第二個數前輸出一個空格

(2)流程圖

3.本題調試過程碰到問題及解決辦法

問題:沒有考慮M比N大的情況

解決辦法:當前值的下標與M和的餘數剛好是輸出值的下標,不管M是不是N的倍數都是一樣的

Git地址:https://git.coding.net/MemoriesBook/123.git

個人總結

本週學習了一維數組和二維數組,了解了二維數組的框架結構,如同行和列的數字的排列,下標還是和一維數組一樣的0到n-1,二維數組可以存放矩陣一類的數字,還可以進行矩陣的運算以及各種變換,其中有點難懂的是選擇法排序和冒泡法排序容易搞混,現在還不是很理解選擇法排序的意思,暫時先記住格式,寫在書上。

董欣的博客地址:http://www.cnblogs.com/dx2017/p/7967269.html

董雅潔的博客地址:http://www.cnblogs.com/exo123/p/7954060.html

馮子旋的博客地址:http://www.cnblogs.com/fengzx/p/7955263.html

代碼行數 時間 博客字數 時間 涉及的知識點
200 11.20 10 4 數組
100 11.21 10 4.5 數組
100 11.22 300 2 if語句、循環結構
200 11.23 50 3 數組
100 11.24 50 1.5 數組
200 11.25 100 2.5
300 11.26 100 3 無 
300 11.27 0 2.5 二維數組 
100 11.28 0 3.5 二維數組 
200 11.29 60 5 二維數組 
100 11.30 60 1 二維數組 
300 12.1 90 2 二維數組 
300 12.2 100 1.5 二維數組 

转载于:https://www.cnblogs.com/lixiaojing/p/7878001.html

第14、15週PTA題目的處理相关推荐

  1. 云计算之路-阿里云上:2013年4月7日14:15~18:35服务器故障经过

    无地自容的道歉之后,向大家汇报一下故障的整个经过.在此再次向大家表示歉意,望大家能谅解! 14:15,有园友在闪存上说博客后台不能发布博文(见下图). 14:17左右,我们看到了这条闪存.立即进入博客 ...

  2. 云计算之路-道歉,无地自容的:4月7日14:15~18:35网站故障给大家带来麻烦了

    终于熬过了那差点让人疯掉的4个多小时,当恢复正常的那一刻,不知该如释重负,还是该痛哭一场. 在一天的访问高峰期,竟然让故障持续了4个多小时,造成无法发布博客.不在缓存中的博文无法访问,实在不可原谅! ...

  3. STM32F103ZET6开发板PB3/4,PA13/14/15等I/O口的特殊配置

    [写在前面] 最近项目上有用STM32F103ZET6开发板在做产品开发,前期测试时PB3/4,PA13/14/15因为作为JTAG/SWD仿真器的调试接口,所以不能像其他正常I/O口一样下置零. [ ...

  4. python 整数输出 d f_如何将数字(10,11,12,13,14,15)分配给Python 3中的字母(A,B,C,D,E,F)?...

    您可以在代码中添加更多行来执行此操作: 首先创建两个带有字符的列表,一个带有要映射的整数,然后从那些创建dict: list_1=["A","B"," ...

  5. 本週主題 -- Jakarta Commons Lang

    SECTION 01 java.lang.* vs commons-lang.* 目前版本為 2.0 , 可以由此處下載 首先, 讓我們先思考一下, jakarta 為何會有一個 commons-la ...

  6. CANOE 14/15 DIVA DELA APE19 CRACK DONGLE KEYMAN

    CANOE 14/15 DIVA DELA APE19 CRACK DONGLE KEYMAN  技术交流支持QIN503904000

  7. vector canoe 12/13/14/15 CANape 19 ASAP2 16 Canoe 15 lin flexray diva j1939 ethernet car2x scope

    当众多的汽车"攻城狮"们正在为开发或测试过程中的BUG头疼时,Vector又悄无声息地发布了15.0版本的CANoe,这对小伙伴们无疑是一个晴天霹雳,相信好多"狮友&qu ...

  8. 达人评测 联想小新 Air 14/15 2021 酷睿版怎么样

    屏幕方面,联想小新 Air 14/15 2021 采用 1920×1080 分辨率屏幕,支持 100% sRGB 色域与 DC 调光,拥有雾面屏防眩光设计与摄像头物理防窥.我用的联想笔记本就是活动时8 ...

  9. 银河麒麟桌面操作系统V10上安装使用Node.js 14.15.1 LTS版本并构建一个electronjs桌面应用

    前言 本文介绍银河麒麟桌面操作系统V10上下载安装官方网站Node.js 14.15.1 LTS版本,并编译一个electronjs应用. Node.js 是一个基于 Chrome V8 引擎的 Ja ...

最新文章

  1. 《大数据的“道”“术”“释”》----读书摘录+思考
  2. tril--下三角矩阵的抽取
  3. 001 FSG 1.33变形壳
  4. 11 | 脑裂: 一次奇怪的数据丢失
  5. Mongodb数据库连接
  6. mac无法访问samba共享 提示输入用户名密码
  7. [IDEA中SSM整合,前端页面jsp] tomcat一开始访问jsp页面就报404错误
  8. Python 中 PyQt5 + pycharm 调用 Qt Designer,将.ui文件转换成 .py 文件
  9. 云+X案例展 | 民生类:贝斯平云助力500强跨国企数字化转型
  10. Linux配置虚拟主机后,只能访问到主页怎么办?
  11. Ubuntu安装配置JDK、Tomcat、SVN服务器
  12. 给你看一下真实的后浪...
  13. 12)hInstance和hWnd写进子类
  14. 用HTML5的DOCTYPE标签兼容各版本IE浏览器的方法技术
  15. ansys workbench汉化教程_ansys16.0软件下载及安装教程
  16. 数据挖掘招聘关键字分析
  17. 博士申请 | 蒙纳士大学(苏州)陈存建老师招收人工智能方向全奖博士生
  18. 计算机sci转让,紧急转让的环境sci,一共四十个选题,2020年上半年出版,包SCI检索...
  19. 【逻辑训练】来自可汗学院的有趣逻辑问题
  20. C++检测键盘大小写

热门文章

  1. 20180316 代码错题(1)
  2. linux split
  3. 【Linux】ubuntu或linux网卡配置/etc/network/interfaces
  4. vi查找替换命令详解
  5. c#将对象序列化为字符串和将字符串反序列化为对象
  6. 软件工程硕士和计算机硕士论文题目,计算机硕士毕业论文答辩自述
  7. mysql 共享表空间_MySQL共享表空间概念
  8. Linux Bash 笔记
  9. 岗位提成系数怎么算_2019年春节长假坚守岗位,你的加班工资怎么算?
  10. cache三种映射方式