第一次作业集合

Posted 1204113692yang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第一次作业集合相关的知识,希望对你有一定的参考价值。

题目6-1 计算两数的和与差
1.设计思路
(1) 主要描述题目算法

第一步:阅读题目,明确题目要求。引用void sum_diff( float op1, float op2, float psum, float pdiff )
第二步:明确 op1,op2,psum,pdiff的作用以及四者之间的联系。
第三步:代入所要求的数据进行检验。
2.实验代码

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

3.流程图
技术分享图片
4.调试结果
答案正确

题目6-2 拆分实数的整数与小数部分

1.设计思路
(1) 主要描述题目算法

第一步:阅读题目,明确题目要求。拆分整数小数。引用void splitfloat( float x, int intpart, float fracpart );
第二步:明确intpart,fracpart,x之间的关系。
第三步:代入所要求的数据进行检验。
2.实验代码

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

3.流程图
技术分享图片
4.调试结果
答案正确

题目6-1 在数组中查找指定元素

1.设计思路
(1) 主要描述题目算法

第一步:阅读题目,明确题目要求。在数组中查找指定元素。引用int search( int list[], int n, int x );
第二步:通过for循环对数组中的元素进行查找。
第三步:查找到返回该数值,否则,返回-1。
第四步:输入要求数值进行检验
2.实验代码

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

3.流程图
技术分享图片

4.调试结果
答案正确

题目6-2 找最大值及其下标

1.设计思路
(1) 主要描述题目算法

第一步:阅读题目,明确题目要求。在一维整型数组中找出其中最大的数及其下标。引用int fun(int a,int b,int n);
第二步:定义一个c,max,查找出c,max,a,b,n之间的联系。
第三步:通过for循环和判断结合找到最大值,以此定义出下标。
第四步:第四步:输入要求数值进行检验。

2.实验代码

int fun(int *a,int *b,int n)
{
int *c,max=*a;
for(c=a+1;c<a+n;c++)
if(*c>max)
{
max=*c;
*b=c-a;
}
return max;
}

3.流程图
技术分享图片
4.调试结果
检查几次,终于答案正确

题目6-1 判断回文字符串

1.设计思路
(1) 主要描述题目算法

第一步:阅读题目,明确题目要求。判断给定的一串字符是否为“回文”。引用bool palindrome( char *s );
第二步:定义出i,j,n,因为是求回文,因此有正反两方向都一样,因此要正反都判断。
第三步:判断从两头起的相对应的字符是否相同。
第四部:判断并且返回“是”“否”。

2.实验代码

bool palindrome( char *s )
{
  int i,j,n=0;
  while(s[n]!=‘\\0‘) n++;
  n--;
  for(i=0,j=n;i<j;i++,j--)
  if(s[i]!=s[j])break;
  if(i>=j)return 1;
  return 0;
}

3.流程图
技术分享图片
4.检查结果
由于习惯原因,改了一次之后正确

题目6-2 使用函数实现字符串部分复制

1.设计思路
(1) 主要描述题目算法

第一步:阅读题目,明确题目要求。将输入字符串t中从第m个字符开始的全部字符复制到字符串s中。引用void strmcpy( char t, int m, char s );
第二步:定义i,j,n.字符串复制。
第三步:进入特定的循环。
第四步:进行检验。
2.实验代码

void strmcpy(char *t, int m, char *s)  
{  
    int i, j,n;  
  
    strcpy(s, t);  
    n = strlen(s);  
    for (i = m - 1; i>0; i--) {  
        for (j = i; j<n; j++) {  
            *(s + j - 1) = *(s + j);  
        }  
    }  
    *(s + n - m + 1) = ‘\\0‘;  
} 

3.流程图
技术分享图片

4.实验结果
提交两次,最后对了












































以上是关于第一次作业集合的主要内容,如果未能解决你的问题,请参考以下文章

作业09-集合与泛型

第九次作业

第一次作业集合

第二周作业

201621123042《java程序设计》第九次作业

代码片段 - Golang 实现集合操作