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

    本次作业所属课程

    C语言程序设计||

    本次作业要求

    https://edu.cnblogs.com/campus/zswxy/MS/homework/2829

    我在这个课程的目标是

    学会熟练使用结构类型

    本次学习在哪些具体方面帮组我实现目标

    自己定义结构还是会方便很多

    参考文献

    C primer plus第六版

    一、基础题

    题目一:按等级统计学生成绩

    1)实验代码

    #include <stdio.h>
    #define MAXN 10
    
    struct student{
        int num;
        char name[20];
        int score;
        char grade;
    };
    
    int set_grade( struct student *p, int n );
    
    int main()
    {   struct student stu[MAXN], *ptr;
        int n, i, count;
    
        ptr = stu;
    
        scanf("%d
    ", &n);
    
        for(i = 0; i < n; i++)
       {
           scanf("%d%s%d", &stu[i].num, stu[i].name, &stu[i].score);
        } 
       count = set_grade(ptr, n);
    
       printf("The count for failed (<60): %d
    ", count);
       printf("The grades:
    ");
     
       for(i = 0; i < n; i++)
           printf("%d %s %c
    ", stu[i].num, stu[i].name, stu[i].grade);
    
        return 0;
    }
    int set_grade( struct student *p, int n )
    {
        int i,j=0;
    
        for(i=0;i<n;i++)
        {
            if(p[i].score >= 85 && p[i].score<=100)
            {
                p[i].grade='A';
            }
            else if(p[i].score >= 70 && p[i].score<=84)
            {
                p[i].grade='B';
            }
            else if(p[i].score >= 60 && p[i].score<=69)
            {
                p[i].grade='C';
            }
            else
            {
                p[i].grade='D';
                j++;
            }
        }
        return j;
    }

    2)设计思路

    3)本题调试过程中遇到的问题及解决办法

    这个题目按照何铭康的思路一遍就过了,感想大佬的教学

    4)运行结果截图

    题目二:一帮一

    1)实验代码

    #include<stdio.h>
    struct student
    {
        int gender;
        char name[10];
        int flag;
    };
    int main()
    {
        struct student t[60];
        int i,j,n;
        
        scanf("%d",&n);
        
        for(i=0;i<n;i++)
        {
        scanf("%d %s",&t[i].gender,&t[i].name);
        t[i].flag=0;
        }
        
        for(i=0;i<n/2;i++)
        {
            for(j=n-1;;j--)
            {
                if(t[i].gender!=t[j].gender && t[i].flag==0 && t[j].flag==0)
                {
                    printf("%s %s
    ",t[i].name,t[j].name);
                    t[i].flag = t[j].flag=1;
                    break;
                }
            }
        }
        return 0;
    }

    2)设计思路

     

    3)本题调试过程中遇到的问题及解决办法

    这题按照何铭康的思路中间出现了一些小问题,第二个for循环次数要是n/2,不然就会段错误,第三个for循环要调成死循环后面加break,不然也是会答案错误

    4)运行结果截图

    题目三:考试座位号

    1)实验代码

    #include<stdio.h> 
    struct student
    {
        char number[200];
        int s;
        int k; 
    };struct student a[10000];
    int main()
    {
    int n,i,m,b[10000],j=0; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%s %d %d ",a[i].number,&a[i].s,&a[i].k); } scanf("%d ",&m); for(i=0;i<m;i++) { scanf("%d",&b[i]); for(j=0;j<n;j++) { if(b[i]==a[j].s) { printf("%s %d ",a[j].number,a[j].k); } } } return 0; }

    2)设计思路

     

    3)本题调试过程中遇到的问题及解决办法

    这题我借鉴了刘磊的思路,首先在结构里定义一个数组两个变量来储存数据,然后再定义一个结构数组和数组,在for循环内利用if语句进行比较,相同就输出。这题主要是在输入样例那块没有看懂,然后就一直卡在输入那一块。感觉自身能力还是太弱了,表示对以后的学习很迷茫。

    4)运行结果截图

    二、预习题

    1)什么是递归函数,它的优点和缺点有哪些,如何归纳出递归式?

    递归函数就是一个函数在它的函数体内调用它自身。执行递归函数将反复调用其自身,每调用一次就进入新的一层。

    递归函数的优点:递归函数写起来简单明了,结构层次分明,简化问题

    递归函数的缺点:有时候的某些问题很难得出递归式子,对于技巧性的要求较高

    归纳出递归式的方法很多,有不完全归纳法,完全归纳法,等等

    若想更详细的了解递归函数请参考:https://wenwen.sogou.com/z/q659688635.htm

    三、学习进度条

    时间

    这周所花时间

    代码行数

    学到的知识简介

    目前比较迷惑的问题

    第一周

    5小时

    80

    初步了解数组

    数组的引用

    第二周

    6小时

    200

    指针的了解

    完全没听懂老师上课在讲什么,继续努力

    第三周

    7小时

    200

    文件与数组的使用

    没看到代码运行后文件的内容发生改变

    第四周

    9小时

    120

    冒泡法,选择排序法

    冒泡法不会

    第五周

    9小时

    120+

    字符型数组

    把代码改成文件格式

    第六周

    4小时

    130左右

    指针

    指针的调用

    第七周

    6小时+

    200

    指针与数组

    指针与数组的连续有点模糊

    第八周

    10小时

    200+

    一些新的函数

    结构那块有点迷

    第九周

    4小时

    120

    自己定义结构变量

    如何灵活的使用结构解决问题

    四、累积博客字数和代码行数

    五、结对编程感想

    这次的题目经过何铭康的讲解以后大大减少了题目难度,我们两个人都很轻易的解决了前面两个题目,最后一个题目思路有点混乱就借鉴了一下别人的思路完成了这次作业

    总结:这次的题目难度不是特别大,感觉还能接受,作业完成的也比较快

  • 相关阅读:
    C++使用thread类多线程编程
    机器学习: Viola-Jones 人脸检测算法解析(二)
    微服务:ICE 入门之 编译环境搭建
    OpenMP中的同步和互斥
    OpenMP编程的任务调度控制
    机器学习: Viola-Jones 人脸检测算法解析(一)
    并行编程OpenMP基础及简单示例
    漫话中国古代史 —— 大唐
    漫话中国古代史 —— 大唐
    也咬文嚼字
  • 原文地址:https://www.cnblogs.com/wangweihanqq2001/p/10772697.html
Copyright © 2011-2022 走看看