2019春第八周作业

这个作业属于哪个课程 C语言程序设计二
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/software-engineering-class2-2018/homework/3074
我的课程目标 在编程过程中能熟练掌握指针的使用方法
这个作业在哪个具体方面帮助我实现目标 本次作业需要熟练使用指针来进行一些数据的处理
参考文献 c语言程序设计

函数实现字符串逆序

1)实验代码

void f( char *p )
{
    int i=0,j=0,mid;
    char op;
    while(*(p+i)!='\0'){
        i++;
    } 
    if(i%2==0){
        mid=i/2;
        while(j<mid){
            op=*(p+j);*(p+j)=*(p+i-1);*(p+i-1)=op;
            j++;i--;
        }
    }
    else{
        mid=(i+1)/2;
        while(j<mid){
            op=*(p+j);*(p+j)=*(p+i-1);*(p+i-1)=op;
            j++;i--;
        }
    }
}

2)设计思路

3)调试过程中遇到的问题及解决方法

3)实验结果截图

字符串的连接

\

1)实验代码

char *str_cat( char *s, char *t )
{
    int i=0,j=0;
    while(*(s+i)!='\0')
        i++;
    while(*(t+j)!='\0'){
        *(s+i)=*(t+j);
        i++;j++;
    }
    return s;
}

2)设计思路

3)调试过程中遇到的问题及解决方法

4)实验结果截图

输出学生成绩

1)实验代码

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int i,*p;
    double max,min,sum,n;
    scanf("%lf",&n);
    if((p=(int *)malloc(n*sizeof(int)) )==NULL){
        printf("Not able to allocate memory.\n");
        exit(1);
    }
    for(i=0;i<n;i++)
        scanf("%d",p+i);
    sum=*p;
    max=*p;
    min=*p;
    for(i=1;i<n;i++){
        if(*(p+i)>max)
            max=*(p+i);
        else if(*(p+i)<min)
            min=*(p+i);
        sum=sum+*(p+i);
    }
    printf("average = %.2f\n",sum/n);
    printf("max = %.2f\n",max);
    printf("min = %.2f\n",min);
    free(p);
    
    return 0;
}

2)设计思路

3)调试过程中遇到的问题及解决方法

在完成的过程中,因为对有关动态内存分配的函数使用还是很模糊,所以出现了一些小问题

4)实验结果截图

字符串排序

1)实验代码

#include<stdio.h>
#include<string.h>
int main()
{
    int i,j,x;
    char op[80],a[5][80];
    for(i=0;i<5;i++)
        scanf("%s",a[i]);
    
    for(i=0;i<5;i++)
        for(j=i+1;j<5;j++){
            if(a[j][0]<a[i][0]){
                strcpy(op,a[i]);
                strcpy(a[i],a[j]);
                strcpy(a[j],op);
            }

        }
    printf("After sorted:\n");          
    for(i=0;i<5;i++)
        printf("%s\n",a[i]);
    
    return 0;   
}

2)设计思路

3)调试过程中遇到的问题及解决方法

3)实验结果截图

周/日期 这周所花时间 代码行数 学到的知识点 目前比较迷惑的问题
3月4-3月10 4天 130行 如何读取文件中的数据并写入数据
3/11-3/17 2天 66行 一些有关文件的函数
3/18-3/24 2天 103行 二维数组的定义与使用
3/25-3/31 2天 140行 与字符串有关的函数strlen,strcpy 一些与字符串有关的函数使用方法
4/1-4/7 2天 56行 指针函数的定义与使用
4/8-4/14 2天 69行 gets,puts,strcat,strcmp函数
4/13-4/19 2天 89行 地址结构内存的动态分配

学习折线图

学习感悟

现在对每周的作业感到力不从心了,最开始学的基础知识有点忘了,以后要多看看书,复习一下以前的知识。

posted @ 2019-04-19 20:17  qyangxu  阅读(162)  评论(0编辑  收藏  举报