第14、15週PTA題目的處理
題目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=;index<n;index++)
scanf("%d ",&num[index]);
for(i=;i<n-;i++)
{
for(j=i+;j<n;j++)
{
if(num[j]>num[i])
{
exchange=num[j];
num[j]=num[i];
num[i]=exchange;
}
else
continue;
}
}
for(index=;index<n;index++)
{
if(index==)
printf("%d",num[index]);
else
printf(" %d",num[index]);
}
system("pause");
return ;
}
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=;index<n;index++)
scanf("%d ",&num[index]);
for(index=;index<n;index++)
{
difference=num[index]-num[index-];
printf("%d",difference);
if(index+==n)
printf("\n");
else if(index%!=)
printf(" ");
else
printf("\n");
}
system("pause");
return ;
}
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=;index<N;index++)
scanf("%d ",&num[index]);
for(index=;index<N;index++)
{
if(index+M>=N)
item[(index+M)%N]=num[index];
else
item[index+M]=num[index];
}
for(index=;index<N;index++)
{
if(index==)
printf("%d",item[index]);
else
printf(" %d",item[index]);
}
system("pause");
return ;
}
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 | 二維數組 |
第14、15週PTA題目的處理的更多相关文章
- PTA題目的處理(一)
**題目1:A乘B** **實驗代碼** #include <stdio.h> #include <stdlib.h> int main() { signed int a,b; ...
- PTA題目的處理(三)
题目7-1 高速公路超速處罰 1.實驗代碼 #include <stdio.h> //#include <stdlib.h> int main() { int csp,lsp; ...
- PTA題目的處理(二)
題目7-1 計算分段函數[1] 1.實驗代碼 #include <stdio.h> int main() { float x,y; scanf("%f",&x) ...
- PTA题目的處理(四)
题目7-3 求交错序列前N项和 1.实验代码 #include <stdio.h> //#include <stdlib.h> int main() { ,N; double ...
- js如何判断一组数字是否连续,得到一个临时数组[[3,4],[13,14,15],[17],[20],[22]];
var arrange = function(arr){ var result = [], temp = []; arr.sort(function(source, dest){ return sou ...
- 第14/15讲- Android资源管理
第14/15讲 Android资源管理 Android中的资源是指非代码部分,比如图片.MP3,字符串,XML文件等.在一个android工程中,res和assets是用来保存资源文件的. res和a ...
- 剑指offer19:按照从外向里以顺时针的顺序依次打印出每一个数字,4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.
1 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印 ...
- 在 Windows 上遇到非常多 TIME_WAIT 連線時應如何處理
我們公司所代管的網站裡,有幾個流量是非常大的,在尖峰的時刻同時上線人數可能高達數千到數萬人,而在這個時候如果使用 netstat 或 TCPView 查看所有 TCP 連線時就會看到非常多處於 ...
- iOS/Android/Web Url Encode空格處理 原文連結:http://read01.com/3gDO.html
iOS/Android/Web Url Encode空格處理 原文連結:http://read01.com/3gDO.html 前言 這裡只是講一個故事,一個發生在我身上的真實的故事.曾經,我以為搞加 ...
随机推荐
- 生成report由Eamil定時寄出
Blat 是一个命令行发邮件的小工具,仅支持简单的SMTP协议,需要SMTP服务器的支持. 官网:http://www.blat.net/ 下载地址:https://sourceforge.ne ...
- DELL XPS 13 9350 装Win7系统(坑爹)
0.记一次悲惨的装机记录 1.为什么这么难装呢? 因为这个NB本身是为Win10设计的,所以官网没有Win7驱动,系统设置各种不兼容 2.希望你能看到本文最后 因为你看到最后,你就不会给这个逗比装Wi ...
- 神级程序员:让你的爬虫就像人类的用户行为! 你敢封我IP吗?
1 前言 近期,有些朋友问我一些关于如何应对反爬虫的问题.由于好多朋友都在问,因此决定写一篇此类的博客.把我知道的一些方法,分享给大家.博主属于小菜级别,玩爬虫也完全是处于兴趣爱好,如有不足之处,还望 ...
- 【BZOJ2946】公共串(后缀数组)
[BZOJ2946]公共串(后缀数组) 题面 权限题... 只有CJOJ题面啦 Description 给出几个由小写字母构成的单词,求它们最长的公共子串的长度. 任务: 读入单词,计算最长公共子串的 ...
- Bzoj4817:[SDOI2017]树点涂色
题面 Bzoj Sol 做个转化 最开始都是虚边 操作\(1\)就是\(LCT\)里的\(Access\)操作 求的就是路径上虚边的个数+1 然后就好办了 用树链剖分+线段树来维护每个点到根虚边的个数 ...
- zjoi网络
map加LCT水一下就过了 # include <stdio.h> # include <stdlib.h> # include <iostream> # incl ...
- 大文件视频断点续传插件resumabel.js,优化上传速度,缩短最后一片等待时长。
在angular中使用resumable.js遇到的一个问题:大视频上传到99-100%时,此时正在上传最后一片,最后一片的xhr一直是pending状态.原因插件会检查第一片和最后一片的元数据,检测 ...
- Django---第三方
第三方: 3.富文本编辑器:此处以tinymce为例 使用编辑器的显示效果为: 1.下载安装 在网站pypi网站搜索并下载"django-tinymce-2.4.0" 解压 tar ...
- Java仪器数据文件解析-PDF文件
一.概述 使用pdfbox可生成Pdf文件,同样可以解析PDF文本内容. pdfbox链接:https://pdfbox.apache.org/ 二.PDF文本内容解析 File file = new ...
- 深入java虚拟机学习 -- 类的加载机制(三)
类的初始化时机 在上篇文章中讲到了类的六种主动使用方式,反射是其中的一种(Class.forName("com.jack.test")),这里需要注意一点:当调用ClasLoade ...