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

    PTA第一次作业
    计算两数的和与差
    设计思路:
    1.看主函数部分可以得出两个浮点型变量a,b,经过sum_diff的函数计算方式得出计算的和与差。
    2.着重注意psum,pdiff为指针变量。
    3.编写代码,其中psum=op1+op2;pdiff=op1-op2.
    实验代码:
    ...
    void sum_diff( float op1, float op2, float *psum, float *pdiff )
    {
    *psum=op1+op2;
    *pdiff=op1-op2;
    }
    ...
    调试过程:
    本题在书写代码的过程中没有任何问题。

    拆分实数的整数与小数部分
    设计思路:
    1.通过主函数部分可以看出x,fracpart为浮点型变量,intpart为整型变量,经过splitfloat调试后输出。
    2.把实数强制转化为int型得到整数部分,实数减整数得到小数部分。
    实验代码:
    ...
    void splitfloat( float x, int *intpart, float *fracpart )
    {
    *intpart=(int)x;
    *fracpart=x-(int)x;
    }
    ...
    调试过程:
    在本题的代码书写中,我并没有想到可以用实数本身减去它的整数部分去输出小数部分,在室友的点拨后意识到了问题所在并得到了解决。

    在数组中查找指定元素
    设计思路:
    1.通过主函数可以看出整型变量 i, index, n, x,a[10],循环数组for。
    2.在函数变量中把a的值赋给list[]。
    3.根据题意,若x=list[a],则返回idex的值,否则idex=-1。
    实验代码:
    ...
    int search( int list[], int a, int b )
    {
    int i,result;
    for( i = 0; i < a; i++ )
    {
    if(list[i]==b)
    {
    result=i;
    break;
    }
    else{
    result=-1;
    }
    }
    return(result);
    }
    ...
    调试过程:
    在本题的书写中并没有遇到什么问题。

    找最大值及其下标
    设计思路:
    1.主函数中定义出整型变量a[10],i,max,p,经过fun函数的调用得到最大值max和它的下标p。
    2.在本函数中,a为第一个值的地址,(a+i)为a[i]的值。
    实验代码:
    ...
    int fun(int *a,int b,int n)
    {
    int max=0;
    int i;
    for(i=0,max=0,
    b=0;i<n;i++)
    {
    if( a[i] > max ) {
    max=a[i];
    *b=i;
    }
    }
    return max;
    }
    ...
    调试过程:
    没有补上返回值return max。

    最小数放前,最大数放后
    设计思路:
    1.使用for循环,第一个函数输入数组,第三个函数输出数组。
    2.找出最值并移动最值即可。
    实验代码:
    ...

    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]);
    }
    }
    ...
    调试过程:
    本题的内容以及考察要点老实说我不是很理解,或者说这道题我应该说是不会,所以完全依靠着室友的讲解和代码的借鉴完成了解答。

    指针选择法排序
    设计思路:
    1.设int型变量i,j,t,temp,再进行for循环。
    2.找出最值后进行交换。
    实验代码:
    ...

    include<stdio.h>

    void sort(int *x,int n)
    {
    int j=0,k=0;
    for(j=1;j<n;j++)
    {
    for(k=0;k<n-j;k++)
    {
    if(x[k]<x[k+1])
    {
    int swap;
    swap=x[k];x[k]=x[k+1];x[k+1]=swap;
    }
    }
    }
    }
    ...
    调试过程:
    与上一道题类似,完全依靠无所不知的室友。

    判断回文字符串
    设计思路:
    1.通过strlen()查字符的数量,对数组首尾进行比较,相同则是回文,反之则反之。
    2.定义整型变量i,j,n,其中n为数组中字符的个数,j为数组下标,j=n-1,再进行for循环。
    3.循环结束后判断i和j的大小,若i>j,则是回文。反之则反之。
    实验代码:
    ...
    bool palindrome( char *s )
    {
    int i,j,n;
    n=strlen(s);
    j=n-1;
    for(i=0;i<j;i++,j--)
    {
    if(s[i]!=s[j]){
    break;
    }
    }
    if(i>=j){
    return true;
    }
    }
    ...
    调试过程:
    在一开始的思路中有模糊的想法但不知道怎么用代码去表述,请教了班里的大佬后柳暗花明。

    使用函数实现字符串部分复制
    设计思路:
    1.定义MAXN为20并新建两个数组使m为整型。
    2.设t,m,s为被调用函数,设整型i,输出。
    实验代码:
    ...
    void strmcpy( char *t, int m, char s )
    {
    int i;
    for(i=m;
    (t+i-1)!='';i++)
    {
    (s+i-m)=(t+i-1);
    }
    *(s+i-m)='';
    }
    ...
    调试过程:
    一点想法都没有,还是靠请教大佬。

    两周学习到的内容:
    在这大学习量的两周中,复习了冒泡排序法,学习了新的关于指针的内容,包括指针的定义,表示方法,定义规则等等,而且还有上个学期学习的对于for循环的使用,在接下来的学习中,要紧跟老师的节奏,后半周因为家里老人的身体原因,去外地的一员护理了几天,以至于把很多东西拖到了交作业的最后一天,以后一定尽力避免这种情况。

    点评作业:
    李锐 :http://www.cnblogs.com/572453251asd/p/8646073.html
    于耀凇:http://www.cnblogs.com/jsjyys/p/8589997.html
    高立彬:http://www.cnblogs.com/gao628526/p/8551285.html

    进度表:

  • 相关阅读:
    AutoMapper 模型转换
    HttpClient Post请求
    C#根据中文description获取enum枚举值
    SQLserver链接字符串MySql链接字符串区别
    EF+Linq分组 多条件
    netcore导入 取Excel中的数据做操作
    net core文件流导出文件
    V-IF 使用包含判断条件
    Vue 使用mounted 或created自动调用函数,遇到的第一个问题 this 指针指向
    VUE 属性绑定
  • 原文地址:https://www.cnblogs.com/jz19990201/p/8646539.html
Copyright © 2011-2022 走看看