一,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,高立彬:http://www.cnblogs.com/gao628526/p/7931800.html
2,班庆泽:http://www.cnblogs.com/wsbqz/p/7965666.html
3,张国庆:http://www.cnblogs.com/zgq947/p/7966299.html