第十四,十五周作业

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

时间: 2024-08-19 22:23:52

第十四,十五周作业的相关文章

中文数字转换成阿拉伯数字(一千二百三十四万五千六百七十八--&gt;12345678)

昨天老大问我又没有写过中文数字转换成阿拉伯数字,我说没有,我说那应该简单啊,就是将中文对应的数字换成阿拉伯数字就好了啊,比如一就换成1,二就换成2…十换成10.可是那么问题来了…… 一十二呢…不能是1102吧…这不就坑爹了吗?一百万呢………所有我苦苦思索,花费了我差不多半天的时间,终于写出了下面的程序. 1 public static void main(String[] args){ 2 3 Map<Character, String> numberMap = new HashMap<

《机电传动控制》第五周作业

机电传动控制第五周作业 一.传动电机或控制电机在工业或生活中的应用: 1.电气伺服传动领域 在要求速度控制和位置控制(伺服)的场合,特种电机的应用越来越广泛.开关磁阻电动机.永磁无刷直流电动机.步进电动机.永磁交流伺服电动机.永磁直流电动机等都已在数控机床.工业电气自动化.自动生产线.工业机器人以及各种军.民用装备等领域获得了广泛应用.如交流伺服电机驱动系统应用在凹版印刷机中,以其高控制精度实现了极高的同步协调性,使这种印刷设备具有自动化程度高.套准精度高.承印范围大.生产成本低.节约能源.维修

20179214 2017-2018-2 《密码与安全新技术》第五周作业

20179214 2017-2018-2 <密码与安全新技术>第五周作业 课程:<密码与安全新技术> 班级: 201792 姓名: 刘胜楠 学号:20179214 上课教师:谢四江 上课日期:2018年3月29日 必修/选修: 选修 学习内容总结 ICO众筹 所有成功的数字货币以及区块链(本文区块链指"区块链公有链")项目无一不是社区项目.常见的ICO里,数字货币和区块链项目向早期爱好者出售项目代币.项目团队通过ICO获取技术开发和市场拓展资金:而项目爱好者通过

软件项目管理第五周作业

1.psp Job Type Date Start End Total 四周总结 随笔 2016.4.4 23:00 23:23 23 站立会议 会议 2016.4.4 13:30 13:45 15 数据库 编码测试 2016.4.4 13:50 15:20 90 站立会议 会议 2016.4.5 13:00 13:15 15 摇一摇1 编码测试 2016.4.5 13:35 14:20 45 站立会议 会议 2016.4.6 13:05 13:15 10 数据库函数添加 编码测试 2016.4

解题报告——2018级2016第二学期第五周作业排座椅

解题报告--2018级2016第二学期第五周作业 F:排座椅 描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来 之后,只有有限的D对同学上课时会交头接耳.同学们在教室中坐成了M行N列,坐在第i行第j列的同学的位置是(i,j),为了方便同学们进出,在教室中设 置了K条横向的通道,L条纵向的通道.于是,聪明的小雪想到了一个办法,或许可以减少上课时学生交头接耳的问题:她打算重新摆放桌椅,改变同学们桌椅

解题报告—— 2018级2016第二学期第五周作业 删数问题

解题报告--  2018级2016第二学期第五周作业 删数问题 描述 键盘输入一个高精度的正整数n(<=240位),去掉其中任意s个数字后剩下的数字按原左右次序将组成一个新的正整数.编程对给定的n和s,寻找一种方案,使得剩下的数字组成的新数最小. 输入ns输出最后剩下的最小数样例输入 178543 4 样例输出 13 分析: 这题题目上已表明是贪心算法:原本最容易产生的错误贪心准则是删去其中最大的数字:但通过简单举例便可得之,这种贪心准则要漏洞:通过简单的计算举例发现如果这个数是一位比一位大的话

软件过程与项目管理(第五周作业)

协作图(第五周项目所分配的任务) 一.协作图的作用 协作图是在一种给定语境中描述协作中各个对象间的组织交互关系的空间组织结构的图形化方式,从定义中可以分析它的作用为:对象间消息的传递来反映具体的使用语境的逻辑表达,一个使用情境的逻辑可能是一个用例的一部分或是一条控制流:它的交互关联显示对象交互的空间组织结构,显示一种对象间的关系,而不注重顺序:表现一个类的操作实现,协作图中可以说明类操作中使用的参数,变量,返回值.当表现一个系统的行为时,消息编号对应了程序中嵌套调用的结构和信号传递过程. 序列图

第四、五周学习进度表

    周数     专业学习目标 专业学习时间 博客发表量 人文方面的学习 知识技能总结     第四周          HTML5       5h       1 阅读HTML5应用 开发与实践   基础差,概念模糊  第五周   数据结构       5h       2 阅读<疯狂的程序员>   上机实践很重要

软件工程_东师站_第五周作业

1.psp Date Type Job Start Int(min) End Total(min) 20160404 助教 团队博客 14:00 16:20 25 14:25 18:00 100 站立会议 "耐撕"站立会议 15:10 15:40 30 编码 重构 18:00 5 18:30 25 编码 选择抢答者(JSP) 18:30 10 19:30 50 20160405 编码 选择抢答者(生成抢答者圈圈) 18:10 15 19:00 35 看书 计算机网络与因特网 22:00

第五周作业。

第五周时候解决的问题. 就拿自己做的那个APP项目来说吧.由于项目需求,清明前花了一个下午时间来实现一个下拉刷新的ListView.上网看了第三方的库,发现不是很适合自己用.于是自己尝试的去实现了个一个下拉刷新的ListVIew. 项目地址: https://github.com/wukunguang/GongGong 首先,大概描述下用户使用整个下拉刷新的过程. 触摸-> 按住 -> 向下拖动 -> 松开 那么程序内部实现的操作大概可分解为: 捕获触摸动作  -> 捕获向下拖动