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

    第一次作业

    作业一:

    1.计算两数的和与差

    a.插入代码

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

    b.流程图

    c.调试中的问题:这题太简单,没问题!!

    2.拆分实数的整数与小数部分

    a.插入代码

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

    b.流程图

    c.调试中的问题:这题太简单,没问题!!

    3.在数组中查找指定元素

    a.代码

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

    b.流程图

    c.本体在调试中未出现问题

    4.找最大值及其下标

    a.代码

    int fun(int *a,int *b,int n)
    {
        int i;
        int max=0;
        for(i=0,max=0, *b=0;i<n;i++){
          if(a[i]>max)
          {max=a[i]; *b=i;}
          
        }
        return max;
      
    }
    

    b.流程图
    通过for循环找到数组中的最大值,返回最大值。

    c.未出现调试中的问题

    5.最小数放前最大数放后

    a.代码

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

    b.流程图
    定义函数,本题其实就是三个小函数的集合,每一个函数都是在比较大小然后按照题意交换位置,小的数换到前面大的数换到后面,循环,输出。
    c.这道题是通过其他同学的帮助完成的。

    6.指针选择法排序

    a.代码

    void sort(int *x,int n)
    {
    int i,j;
    int a;
    for(i=0;i<n;i++)
    {
    for(j=i;j<n;j++) 
    {
    if(*(x+i)<*(x+j))
    {
    a = *(x+i);
    *(x+i) = *(x+j);
    *(x+j) = a;
    }
    }
    }
    return 0;
    }
    

    7.判断回文字符串

    a.代码

     bool palindrome(char *s)
    {    int a[4]={true};
         int b[5]={false};
         int length;
         int mark=0;
         int i,j;
         int n,m,flag=0;
         length=strlen(s);
         n=length-1;
         for(i=0;i<length/2;i++,n--)
         {
             if(*(s+i)!=*(s+n))  
             {      flag=1;     
                    break;
                    }           
                                }
         if(flag==1)
         {return *b;
                    }
         else if(flag==0)
         { return *a;
              }
         }
    

    b.流程图
    通过strlen函数得到实参的字符长度,根据其判断可能是哪种回文类型,通过for循环依次比较第一个与最后一个,第二个与倒数第二个,依次往下,根据是否是回文返回不同的字符串。


    c.未出现问题

    8.使用函数实现字符串部分复制

    a.代码

    void strmcpy(char *t,int m,char*s)
    {
        int count=0;
        int i;
        for(i=0;;i++)
        {
         if(*(t+i)=='')
         {break;
         }
         else
         {count++;
         }
        }
        if(count<m)
        {*s='';
        }
        else
        {
        for(i=0;*(t+i)!='';i++)
        {
        *(s+i)=*(t+m-1+i);
        }
        *(s+i)='';    
        }
    }
    

    作业二:

    1.这两周学会了指针函数,并且复习了上学期的函数调用
    2.表格

    3.点评三位同学
    贾瑱
    李锐
    黄国戎

  • 相关阅读:
    Plot the figure of K-SVCR
    利用sklearn计算文本相似性
    djago 定义后台地址
    django admim后台不转义提交的html
    django 静态css js文件配置
    django后台的制作
    django 设置不带后缀的访问路径
    阿里云ECS服务器 常见问题(1)
    python 将word另存为txt
    python遍历某一位置所有文件夹中的文件
  • 原文地址:https://www.cnblogs.com/jhd1127/p/8645999.html
Copyright © 2011-2022 走看看