• 第六周编程总结


    本次作业所属课程

    C语言程序设计||

    本次作业要求

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

    我在这个课程的目标是

    学会熟练使用指针

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

    学会画流程图

    参考文献

    C primer plus第六版

     一、基础题

    题目一:求两数平方根之和

    1)实验代码

    #include<stdio.h>
    #include <math.h> 
    double fun (double *a, double *b); 
    int main (void )
    { 
    double a, b, y;
    
    scanf ("%lf%lf", &a, &b );
    
       y=fun(&a, &b);
       printf ("y=%.2f
    ", y );
    return 0; }
    double fun (double *a, double *b) { double t ; t=sqrt(*a)+sqrt(*b); return t; }

    2)设计思路

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

    这个题目一遍过了,难度不大

    4)运行结果截图

    题目二:利用指针返回多个函数值

    1)实验代码

    #include<stdio.h>
    int max_min(int *a,int *b,int str[],int n);
    int main(void)
    {
    int n,str[10000],i,max,min;
    scanf(
    "%d",&n);
    for(i=0;i<n;i++) { scanf("%d",&str[i]); } max_min(&max,&min,str,n);
    printf(
    "max = %d ",max); printf("min = %d",min);
    return 0; }
    int max_min(int *a,int *b,int str[],int n) { int i,temp=0;
    for(i=1;i<n;i++) { if(str[temp]>str[i]) temp=i; } *b=str[temp]; temp=0;
    for(i=1;i<n;i++) { if(str[temp]<str[i]) temp=i; } *a=str[temp]; }

    2)设计思路

     

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

    这个题目问题不是特别大,在函数定义那里出了点小问题,换一个新的一个数组名就解决了

    4)运行结果截图

    二、预习题

    题目一:最小数放前最大数放后

    1)实验代码

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

    2)设计思路

     

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

    这次的指针我是真的没怎么搞懂,指针的调用和声明那块概念特别模糊

    4)运行结果截图

    四、思考题

    1)为什么要使用指针?它有什么用

    我认为使用指针的目的在于它可以让我们间接的访问各种数据,可以减少我们的代码和工作量
    2)指针变量在内存中暂用多大的空间?它的大小由什么决定?

     我认为指针变量在内存中所占的空间应该由它的数据类型决定,大小应该是由多个因素共同决定的

    五、学习进度条

    时间

    这周所花时间

    代码行数

    学到的知识简介

    目前比较迷惑的问题

    第一周

    5小时

    80

    初步了解数组

    数组的引用

    第二周

    6小时

    200

    指针的了解

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

    第三周

    7小时

    200

    文件与数组的使用

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

    第四周

    9小时

    120

    冒泡法,选择排序法

    冒泡法不会

    第五周

    9小时

    120+

    字符型数组

    把代码改成文件格式

    第六周

    4小时

    130左右

    指针

    指针的调用

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

    七、结对编程感想

    对于这次的结对编程,我感觉到了一些优缺点,假如两个人的实力差距过大,那么势必会导致两个人的效率都降低。还有我认为结对编程时不应该大声说话,声音能够让队友听见就行,而现状我们班的声音是整个楼层中最吵的,这不是我认为的结对编程

    总结:总的来说,感觉这次老师真的放水了,题目难度设置的比上周的低多了,谢谢琛姐的良苦用心

  • 相关阅读:
    [转]validation验证控件案例以及正则表达式中几个特殊符号的说明!
    [转]Writing Installs With The Windows Installer Is A Pain!
    [转]配置子报表和钻取报表
    微软的软件授权及保护服务(SLPS)
    VS2005下源代码管理的VSS2005的登录ID设置
    [书目20080428]Google API开发详解:Google Maps与Google Earth双剑合璧
    GridView 的EmptyDataText 及 EmptyDataTemplate
    [转]用C#和SQL获得当前月的第一天和最后一天
    [引]ASP.NET IIS 注册工具 (Aspnet_regiis.exe)
    [转]开发Silverlight 2应用程序的准备工作
  • 原文地址:https://www.cnblogs.com/wangweihanqq2001/p/10659651.html
Copyright © 2020-2023  润新知