zoukankan      html  css  js  c++  java
  • 第一周作业

    作业要求一
    已完成
    作业要求二

    1)C高级第一次PTA作业(1)
    6-1 计算两数的和与差
    1.设计思路
    (1)主要描述题目算法
    和两个相加,差两个相减
    (2)流程图
    2.实验代码

    void sum_diff( float op1, float op2, float *psum, float *pdiff )
    {
      *psum=op1+op2;
      *pdiff=op1-op2;
    }
    

    3.本题调试过程碰到问题及解决办法
    没有问题。

    6-2 拆分实数的整数与小数部分
    1.设计思路
    (1)主要描述题目算法
    第一步:将浮点数x转化为整数型。
    第二步:小数部分为浮点型-整数型。
    (2)流程图
    2.实验代码

    void splitfloat( float x, int *intpart, float *fracpart)
    {
      *intpart=(int)x;
      *fracpart=x-*intpart;
    }
    

    3.本题调试过程碰到问题及解决办法
    最开始不知道怎么转化整数型;
    经过上网查询弄明白的。

    2)C高级第一次PTA作业(2)
    6-1 在数组中查找指定元素
    1.设计思路
    (1)主要描述题目算法
    第一步:使用for循环,
    第二步:使用if语句
    第三步:使用break跳出循环。
    (2)流程图

    2.实验代码

    int search( int list[], int n, int x )
    {
      int j,t=-1;
      for(j=0;j<n;j++)
      {
        if(list[j]==x)
        {
          t=j;
          break;
        }
      }
      return t;
    }
    

    3.本题调试过程碰到问题及解决办法
    没问题。

    6-2 找最大值及其下标
    1.设计思路
    (1)主要描述题目算法
    第一步:使用for循环
    第二步:使用if语句
    第三步:赋值,将j赋给*b.
    (2)流程图

    2.实验代码

    int fun(int *a,int *b,int n)
    {
      int j,t=0;
      for(j=0;j<N;j++)
      {
        if(t<a[j])
        {
          t=a[j];
          *b=j;
        }
      }
      return t;
    }
    

    3.本题调试过程碰到问题及解决办法
    没问题。

    3)C高级第一次PTA作业(3)
    6-1 最小数放前最大数放后
    1.设计思路
    (1)主要描述题目算法
    第一步:使用for循环,输入几个数
    第二步:定义max,min将arr[0]赋给max,min。
    第三步:通过循环找出最大值最小值
    第四步:交换。
    (2)流程图

    2.实验代码

    void input(int *arr,int n)
    {
    int i;
    for(i=0;i<=9;i++){
      scanf("%d",&arr[i]);
    }
    }
    void max_min(int *arr,int n)
    {
      int max,min,i,t,c,d;
      max=arr[0];
      min=arr[0];
      for(i=0;i<=9;i++){
        if(arr[i]>max){
          max=arr[i];
          c=i;
        }
      }
        t=arr[c];
        arr[c]=arr[9];
        arr[9]=t;
      for(i=0;i<=9;i++){
        if(arr[i]<min){
          min=arr[i];
          d=i;
        }
      }
        t=arr[d];
        arr[d]=arr[0];
        arr[0]=t;
    }
    void output(int *arr,int n)
    {
    	int i;
      for(i=0;i<=9;i++){
      printf("%3d",arr[i]);
      }
    }
    

    3.本题调试过程碰到问题及解决办法
    最开始不是特别明白思路,经过同学讲解明白了。

    6-2 指针选择法排序
    1.设计思路
    (1)主要描述题目算法
    选择排序法。
    (2)流程图

    2.实验代码

    void sort(int *x,int n)
    { 
     int i,j,t,temp;
     for(i=0;i<n-1;i++)
     {
     t=i;
     for(j=i+1;j<n;j++)
     {
    
     if(*(x+t)<*(x+j))
     t=j;
     }
     temp=*(x+i);
     *(x+i)=*(x+t);
     *(x+t)=temp;
     }
    } 
    

    3.本题调试过程碰到问题及解决办法
    不懂选择排序法,经过上网查懂得选择排序法 是先找到最大或者最小的位置放在第一个位置,然后选择其次放在第二个位置,依次排序。

    4)C高级第一次PTA作业(4)
    6-1 判断回文字符串
    1.设计思路
    (1)主要描述题目算法
    第一步:a=s字符个数
    第二步:for循环,if语句,如果首尾相等就count++,继续循环
    第三步:如果跳出循环count=a,返回true。
    (2)流程图

    2.实验代码

    bool palindrome(char *s)  
    {  
        int a=strlen(s);  
        int m, n,count=0;  
        for (m = 0, n= a - 1; m < a, n >= 0; m++, n--)  
        {  
            if (*(s + m) == *(s + n))  
            {  
                count++;  
            }  
        }  
        if (count == a)  
            return true;  
      
    }  
    

    3.本题调试过程碰到问题及解决办法
    上网查的字符个数。

    6-2 使用函数实现字符串部分复制
    1.设计思路
    (1)主要描述题目算法
    第一步:将t复制s上
    第二步:求出s字符个数为c
    第三步:for循环。
    第四步:得到的新字符末尾为 ''.
    (2)流程图

    2.实验代码

    void strmcpy(char *t, int m, char *s)  
    {  
        int a, b, c;  
      
        strcpy(s, t);  
        c = strlen(s);  
        for (a = m - 1; a>0; a--) {  
            for (b= a; b<c; b++) {  
                *(s + b - 1) = *(s + b);  
            }  
        }  
        *(s + c- m + 1) = '';  
    } 
    

    3.本题调试过程碰到问题及解决办法
    不知道strcpy是复制的意思,上网查明白的。

    要求三、学习总结和进度
    1、总结两周里所学的知识点有哪些学会了?哪些还没有学会?
    这两周学习了指针与数组,还有字符数组与指针。不是都特别熟练,应该多加练习。
    2、将PTA作业的源代码使用git提交到托管平台上,要求给出上传成功截图和你的git地址。请注意git地址应是类似“https://git.coding.net/Dawnfox/wf4_2.git”这样的字符串且是可被访问者直接点击进行访问的链接。
    GIT地址:https://git.coding.net/yangyuxin/77777.git
    3、点评3个同学的本周作业(在作业中给出被点评同学博客的链接),并邀请3名同学点评你的作业,无点评作业(你的作业未被3人点评)/或者没有回复同学或老师的点评都倒扣该题分数。
    于耀淞:http://www.cnblogs.com/jsjyys/p/8589997.html
    徐铭博:http://www.cnblogs.com/xmb1547828350/p/8597402.html
    姚舜禹:http://www.cnblogs.com/yaoshunyux/p/8641466.html
    4、请用表格和折线图呈现你本周(3/12 8:00~3/26 8:00)的代码行数和所用时间、博客字数和所用时间

  • 相关阅读:
    ASP.NET MVC5+EF6+EasyUI 后台管理系统(45)-工作流设计-设计步骤
    ASP.NET MVC5+EF6+EasyUI 后台管理系统(44)-工作流设计-设计表单
    ASP.NET MVC5+EF6+EasyUI 后台管理系统(43)-工作流设计-字段分类设计
    ASP.NET MVC5+EF6+EasyUI 后台管理系统(42)-工作流设计-表建立
    ASP.NET MVC5+EF6+EasyUI 后台管理系统(41)-组织架构
    ASP.NET MVC5+EF6+EasyUI 后台管理系统(40)-精准在线人数统计实现-【过滤器+Cache】
    ASP.NET MVC5+EF6+EasyUI 后台管理系统(39)-在线人数统计探讨
    ASP.NET MVC5+EF6+EasyUI 后台管理系统(38)-Easyui-accordion+tree漂亮的菜单导航
    ASP.NET MVC5+EF6+EasyUI 后台管理系统(37)-文章发布系统④-百万级数据和千万级数据简单测试
    .Net 转战 Android 4.4 日常笔记(10)--PullToRefresh下拉刷新使用
  • 原文地址:https://www.cnblogs.com/yangyuxin/p/8646332.html
Copyright © 2011-2022 走看看