第十四,十五周作业

时间:2023-01-25 21:58:18

一,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

PtaTXT事例练习

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

第十四,十五周作业