zoukankan      html  css  js  c++  java
  • 第四周编程总结

    一、作业

    这个作业属于哪个课程 C语言程序设计ll
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/software-engineering-class2-2018/homework/2774)
    我在这个课程的目标是 希望能多了解数组的算法,以后碰见类似的题目时能够不出错误的做出来
    这个作业在哪个具体方面帮助我实现目标 这个作业让我大概了解了选择排序法和冒泡排序法,并且对数组有了更深入的了解
    参考文献 https://blog.csdn.net/bruno231/article/details/6668024)

    基础题

    7-2 选择法排序

    本题要求将给定的n个整数从大到小排序后输出。

    输入格式:
    输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。

    输出格式:
    在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。

    输入样例:
    4
    5 1 7 6
    输出样例:
    7 6 5 1

    1、实验代码

    #include<stdio.h>
    int main(void)
    {
        int i,k,n,temp,index; 
        int a[10];
        char op=' ';
        
        scanf("%d",&n);
        for(i=0;i<n;i++)
            scanf("%d",&a[i]);
        for(k=0;k<n-1;k++) 
        {
            index=k;
            for(i=k+1;i<n;i++)
                if(a[i] > a[index])
                    index=i;    
                temp=a[index];
                a[index]=a[k];
                a[k]=temp;
        } 
        printf("%d",a[0]);
        for(i=1;i<n;i++)
        {
            printf("%c%d",op,a[i]);
        }
        printf("
    ");
        
        return 0;
     }
    

    设计思路

    3、本题调试过程碰到问题及解决办法:

    照着书上的例题弄没什么问题

    4、运行结果截图:

    1、实验代码

    #include<stdio.h>
    int main(void)
    {
        int n,i,j,x,y,t,z;
        int a[6][6];
        
        scanf("%d",&n);
        for(i=0;i<n;i++)
        {
            for(j=0;j<n;j++)
            {
                scanf("%d",&a[i][j]);
            }
        }
        x=y=z=0;
        t=1;
        for(i=0;i<n;i++)          
        {
            z=i;
            for(y=0;y<n;y++)
            {
                if(a[i][x]<=a[i][y])
                {
                   x=y;
                } 
            }
            for(j=0;j<n;j++) 
            {
                if(a[z][x]>a[j][x]) 
                {
                    z=j;
                    break;
                 }  
            }
            if(i==z) 
            {
                t=0;
                break;
            }
        }
        if(t==0)
        {
            printf("%d %d",i,x);
        }
        else
        {
            printf("NONE");
        }    
        
        return 0;
     } 
    

    2、设计思路

    3、本题调试过程碰到问题及解决办法:

    这个题书上也有例题稍微改一下就行问题不大

    4、运行将结果截图

    挑战题

    **7-1 冒泡法排序 **

    输入1个正整数n(1<=n<=10),然后输入n个整数并存放在数组中,将这n个整数从大到小排序后输出,相邻数字间有一个空格,行末不得有多余空格。

    输入格式:
    输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。

    输出格式:
    在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。

    输入样例:
    4
    75 71 77 76
    输出样例:
    77 76 75 71

    1、实验代码

    #include<stdio.h>
    int main ()
    {
      int i,k,n,temp;
      int a[10];
      scanf("%d",&n);
      for(i=0;i<n;i++)
        scanf("%d",&a[i]);
      for(k=0;k<n;k++){
        for(i=0;i<n-1-k;i++){
           if(a[i]<a[i+1]){
              temp=a[i+1];
              a[i+1]=a[i];
              a[i]=temp;
            }
        }
      }
        printf("%d", a[0]);
        for(i=1;i<n;i++){
         printf(" %d", a[i]);
        }
     return 0;
     }
    

    2、设计思路

    3本题调试过程碰到问题及解决办法:

    这个题用前面的题也可以解决但是不行,出了一点问题,但不过稳同学还是搞定了

    4、运行结果截图

    学习进度条

    周/日期 这周所花的时间 代码行数 学到的知识点简介 目前比较迷惑的问题
    2/25-3/3 48h 45 数组的认识及用法 数组长度的理解
    3/4-3/10 36h 37 编写程序时处理文件 fscanf与fprintf的具体用法
    3/11-3/17 46h 55 定义文件,以及文件的导入导出和读写 二维数组的用法、上三角的判断及文件的处理
    3/17-3/22 15h 66 选择排序法、二分查找法 不清楚选择排序法和冒泡排序法的区别

    学习感悟

    这周主要还是讲的数组,讲了二维数组,并且讲了选择排序法还有二分法,还有挑战题的冒泡法,还是对冒泡法存在疑惑
    分布清楚选择排序法和冒泡法的区别。这周自己也将前面的知识复习了下,稍微跟进点了进度,但还是不够后面也会越来越难。还是要继续加油!!!

  • 相关阅读:
    5.21 CSS样式表练习
    5.20 c#验证码练习
    5.20 邮箱注册,及网页嵌套,知识点复习
    5.19 网页注册练习
    5.19练习标签及其 定义
    5.16 兔子生兔子,日期时间练习
    5.15 复习;共5题
    5.11 集合 与 特殊集合
    5.11 集合与特殊集合
    WinForm1
  • 原文地址:https://www.cnblogs.com/zx666/p/10580988.html
Copyright © 2011-2022 走看看