一,pta:
1,交换最小值和最大值:
(1),实验代码:
#include<stdio.h> int main() { int i, n,idx,t; scanf("%d",&n); int a[n]; for ( i = 0; i < n; i++ ) { scanf ( "%d", &a[i] ); } idx=0; for ( i = 0; i < n; i++ ) { if ( a[i] < a[idx] ) { ; } } if(idx!=0){ t=a[0];a[0]=a[idx];a[idx]=t; } idx=0; for ( i = 0; i < n; i++ ) { if ( a[i] > a[idx] ) { idx=i;} } if(idx!=(n-1)){ t=a[n-1]; a[n-1]=a[idx]; a[idx]=t;} for ( i = 0; i < n; i++ ){ printf("%d ",a[i]); } }
(2),设计思路:
第一步:输入一个n用来了解总共有多少个数。
第二步:用一个遍历输入每个数并存储到相应的空间内。
第三步:用一个for语句依次输出所存储的数据,并用一个if语句判断这个数据和idx数位的数据,如果这个数据比idx的那个大就将i赋给idx,循环结束后idx就是最大的那个数所处的数位。最后,判断第一项是不是最大值不是的话经过交换结束。最小的数的交换与其相同。
第四步:最后经过一个遍历将数输出结束。
 

(3),遇到问题:

是因为上课的时候老师特别说了一下,便将问题解决。错误原因是在交换之前没有判断第一个是不是就是最大值。
解决办法,在交换之前加if语句,看是否第一项就是最大,最小值同理。
2,冒泡排序法:
(1),实验代码:
#include<stdio.h> int main() { int i,j,t=0,n,k; scanf("%d %d",&n,&k); int a[n]; for(i=1;i<=n;i++){ scanf("%d",&a[i]);} for(j=1;j<=k;j++){ for(i=1;i<=n-j;i++){ if(a[i]>a[i+1]) {t=a[i]; a[i]=a[i+1]; a[i+1]=t;} } } for(i=1;i<=n;i++){ if(i==n){ printf("%d",a[i]);} else{ printf("%d ",a[i]);} } return 0; }
(2),设计思路:
第一步:输入数据个数n,比较次数k。用一个遍历输入每个数并存储到相应的空间内。
第二步:用一个for语句控制比较的趟数,在此for语句中再用一个for语句将最大的数放置在后面(因为每减少一趟所需比较的次数就少一次,所以每趟只需判断n-j次。)
第三步:用一个遍历将数据输出,因为末尾不能有空格所以在其中加一个if语句控制输出。 

(3),遇到问题:
在Dev c++上运行的时候总是会拉掉一些点导致答案出现错误。
解决办法就是对比TXT进行错误查找。
3,四次pta:




二,Git:
(1),截图:

(2),Git地址:https://git.coding.net/DavidPark/123.git
三,学习总结:
这两周主要学习了数组,感觉数组包含的知识较多,尤其是for语句所以经过两周的训练for语句更加熟练,并且感觉学习了数组并做一些应用题后自己的思维更加开阔。
难点的话就是在做一些应用的时候有时会感觉手足无措。
四,学习进度与互评:
| 
 时间  | 
 代码行数  | 
 时间(min)  | 
 博客字数  | 
 博客时间min  | 
 知识点  | 
| 
 11.20  | 
 100  | 
 90  | 
 0  | 
 0  | 
 Pta  | 
| 
 11.21  | 
 100  | 
 100  | 
 0  | 
 0  | 
 Pta,TXT事例练习  | 
| 
 11.22  | 
 120  | 
 100  | 
 0  | 
 0  | 
 Pta,数组输入,输出  | 
| 
 11.23  | 
 100  | 
 100  | 
 0  | 
 0  | 
 Pta,下标  | 
| 
 11.24  | 
 150  | 
 110  | 
 0  | 
 0  | 
 数组实例练习  | 
| 
 11.25  | 
 180  | 
 120  | 
 0  | 
 0  | 
 数组实例练习  | 
| 
 11.26  | 
 150  | 
 120  | 
 0  | 
 0  | 
 Pta  | 
| 
 11.27  | 
 100  | 
 100  | 
 50  | 
 10  | 
 Pta  | 
| 
 11.28  | 
 100  | 
 90  | 
 0  | 
 0  | 
 Pta,二维数组输入输出  | 
| 
 11.29  | 
 100  | 
 100  | 
 0  | 
 0  | 
 二维数组输入输出  | 
| 
 11.30  | 
 200  | 
 110  | 
 0  | 
 0  | 
 Pta  | 
| 
 12.1  | 
 150  | 
 90  | 
 60  | 
 30  | 
 Pta  | 
| 
 12.2  | 
 160  | 
 110  | 
 110  | 
 90  | 
 数组实例练习  | 
| 
 12.3  | 
 200  | 
 120  | 
 40  | 
 10  | 
 数组实例练习  | 

互评:
1,
2,
3,
原文:http://www.cnblogs.com/DavidPark/p/7955168.html