zoukankan      html  css  js  c++  java
  • 2019春第九周作业

    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/MS/homework/3129
    我在这个课程的目标是 学习使用结构解决问题
    这个作业在哪个具体方面帮助我实现目标 了解结构的使用方法、格式以及注意事项
    参考文献 C语言程序设计II第九章

    一、本周完成作业

    基础函数题

    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 count=0,i;
    for(i=0;i<n;i++)
    {
    if((*p).score<60)
    {
    (*p).grade='D';
    count++;
    }
    else if((*p).score>=60&&(*p).score<=69)
    (*p).grade='C';
    else if((*p).score>=70&&(*p).score<=84)
    (*p).grade='B';
    else
    (*p).grade='A';
            p++;
    }
    return count;
    }
    2.设计思路
    3.本题调试过程碰到的问题及解决办法
    *p需要用括号括起来,因为*p.score等同*(p.score),经过查资料自己检查后改正
    错误截图
    4.运行结果截图
    基础编程题1
    1.实验代码
    #include<stdio.h>
    struct student{
    int sex;
    char name[8];
    }str[50],stu[50];
    int main(void)
    {
    int n,i,j;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
    scanf("%d",&str[i].sex);
    scanf("%s",&stu[i].name);
    }
    for(i=0;i<n;i++)
    {
    for(j=n-1;j>=0;j--)
    {
    if(str[i].sex!=str[j].sex&&str[i].sex<=1&&str[j].sex<=1)
    {
    str[i].sex=2;
    str[j].sex=2;
    printf("%s %s ",stu[i].name,stu[j].name);
    }
    }
    }
    return 0;
    }
    2.设计思路
    3.本题调试过程碰到的问题及解决办法
    没什么错误,主要就是做题思路比较难想到
    4.运行结果截图
    基础编程题2
    1.实验代码
    #include<stdio.h>
    struct student{
    char kaohao[20];
    int shiji;
    int kaoshi;
    };
    int main()
    {
    int N,M;
    scanf("%d", &N);
    struct student str[N];
    for(int i = 0; i < N; i++){
    scanf("%s %d %d", &str[i].kaohao, &str[i].shiji, &str[i].kaoshi);
    }
    scanf("%d", &M);
    for(int j = 0; j < M; j++){
    int m;
    scanf("%d", &m);
    for(int h = 0; h < N; h++){
    if(m == str[h].shiji){
    printf("%s %d ", str[h].kaohao, str[h].kaoshi);
    }
    }
    }
    return 0;
    }
    2.设计思路
    3.本题调试过程碰到的问题及解决办法
    定义学生考号时用long来定义出现了段错误,后来问同学之后改成了用char数组来定义
    错误截图
    4.运行结果截图
    挑战作业太难不会
     
    预习作业
    什么是递归函数?
    递归就是一个函数在它的函数体内调用它自身。执行递归函数将反复调用其自身,每调用一次就进入新的一层。递归函数必须有结束条件。 当函数在一直递推,直到遇到墙后返回,这个墙就是结束条件。递归函数还有两个要素,结束条件与递推关系。出处:https://blog.csdn.net/wf19930209/article/details/79341939
    它的优点和缺点有哪些?
    优点:递归函数方便了程序员——用一段短小精悍的代码便描述了一个复杂的算法(处理过程)。
    缺点:害苦了处理器和内存——处理器一遍遍地调用函数、内存一层层地建立函数栈帧,再一层层地退栈。这将是不小的系统开销。更为可怕的是递归可能造成栈溢出。
    出处:https://bbs.csdn.net/topics/392416162?page=1
    如何归纳出递归式?
    三种方法   (一)代换法(二)递归树方法(三)主方法。详情及出处:https://blog.csdn.net/g1036583997/article/details/46912679
     
    学习感悟
    难则不通,通则不难,果然还是要自己去用心的好好研究研究,不管有什么问题都可以自己百度,还是要自己学会用百度啊,百度是个好东西,能解决不少问题,学习还是要一切靠自己。

    结对编程的优缺点

    优点:2个人可以在讨论中不知不觉的进步,毕竟合作的力量还是要比自己一个人强,编程搭档相当于半个老师,可以取长补短

    缺点:有时候还是需要自己一个人独立思考来解决问题,不能什么都问搭档,自己的错误自己解决出来印象会更深刻

  • 相关阅读:
    SSH框架面试题
    创业起步?先收藏这份终极指南
    技术专题之-技术的概述
    技术专题之-技术概述的目录
    晶体管电路学习笔记
    转载 关于小波消失矩的理解
    关于射级跟随器中输出负载加重情况的理解
    小波分解和合成的simulink仿真
    小波变换工程实现原理总结
    小波变换的解释
  • 原文地址:https://www.cnblogs.com/lyp82ndl/p/10775879.html
Copyright © 2011-2022 走看看