码迷,mamicode.com
首页 > 其他好文 > 详细

第1次作业

时间:2018-03-24 23:54:06      阅读:1172      评论:0      收藏:0      [点我收藏+]

标签:class   dex   .com   int   折线图   i++   10个   str   char   

作业要求二

1)C高级第一次PTA作业(1)

6-1 计算两数的和与差

本题要求实现一个计算输入的两数的和与差的简单函数。

代码如下:

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

指针在题目中的作用:

    op1代表a,op2代表b,*psum代表sum,*pdiff代表diff。

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

本题要求实现一个拆分实数的整数与小数部分的简单函数。

代码如下:

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

指针在题目中的作用:

    x为输入数,*intpart取x整数部分,*fracpart取输入数减整数的部分(也就是小数部分)。

2)C高级第一次PTA作业(2)

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

本题要求实现一个在数组中查找指定元素的简单函数。

代码如下:

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

流程图

6-2 找最大值及其下标

在一维整型数组中找出其中最大的数及其下标。

代码如下:

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

流程图

3)C高级第一次PTA作业(3)

6-1 最小数放前最大数放后

为一维数组输入10个整数;将其中最小的数与第一个数对换,将最大的数与最后一个数对换;输出数组元素。

代码如下:

`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 t;
  int i,x,y,z;
  int min=*arr;
  int max=0;
  for(i=0;i<n;i++){
    if(*(arr+i)<min){
      min=*(arr+i);
      x=i;
    }
  }
  t=*(arr+x);
  *(arr+x)=*arr;
  *arr=t;
  for(y=0;y<n;y++){
    if(*(arr+y)>max){
      max=*(arr+y);
      z=y;
    }
  }
  t=*(arr+z);
  *(arr+z)=*(arr+n-1);
  *(arr+n-1)=t;  
}
void output(int *arr,int n){
   int i;
  for(i=0;i<n;i++){
    printf("%3d",*(arr+i));
  }
}`

流程图

6-2 指针选择法排序

指针选择法对10个数进行由大到小的排序。

代码如下:

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

流程图

4)C高级第一次PTA作业(4)

6-1 判断回文字符串

本题要求编写函数,判断给定的一串字符是否为“回文”。

代码如下:

`bool palindrome( char *s ){
  int i,j;
  int n = strlen(s);
    for(i=0,j=n-1;i<=(n-1)/2;i++,j--)
    {
      if(*(s+i)!=*(s+j))
      {
        return false;
      }
    }
    if(i>=j) return true;
}`

流程图

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

本题要求编写函数,将输入字符串t中从第m个字符开始的全部字符复制到字符串s中。

代码如下:

`void strmcpy( char *t, int m, char *s ){
  int n;
  n=strlen(t);
  int i;
  int a=0;
  if(m<=n){
    for(i=m;t[i-m]!=‘\0‘;i++)
    {
      *(s+a)=t[i-1];
      a++;
    }*(s + n) = ‘\0‘;
  }else{
    *s=‘\0‘;
  }
}`

流程图

作业要求三

1、总结两周里所学的知识点有哪些学会了?哪些还没有学会?

2、将PTA作业的源代码使用git提交到托管平台上,要求给出上传成功截图和你的git地址。

git地址:https://git.coding.net/wuyaole/dayixiagxueqi01.git
截图 技术分享图片

3、点评作业

4、用表格和折线图呈现本周(3/12 8:00~3/26 8:00)的代码行数和所用时间、博客字数和所用时间

第1次作业

标签:class   dex   .com   int   折线图   i++   10个   str   char   

原文地址:https://www.cnblogs.com/wsbqz/p/8641741.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!