• 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)!=''){
            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)!='')
            i++;
        while(*(t+j)!=''){
            *(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.
    ");
            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
    ",sum/n);
        printf("max = %.2f
    ",max);
        printf("min = %.2f
    ",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:
    ");          
        for(i=0;i<5;i++)
            printf("%s
    ",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行 地址结构内存的动态分配

    学习折线图

    学习感悟

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

  • 相关阅读:
    关于gtk的GCond
    位运算符及其应用
    登陆新浪微博&批量下载收藏内容[Python脚本实现]
    海量数据处理算法—Bloom Filter
    海量数据处理算法—BitMap
    VB.NET机房收费系统——组合查询
    非官方的gstreamer学习资料及概念摘要
    [Python入门及进阶笔记00]写在前面(目录/书籍/学习路线/其他)
    [JAVA][Eclipse]JVM terminated. Exit code=13
    介绍一个android开源文件选择对话框:androidfiledialog
  • 原文地址:https://www.cnblogs.com/vangame/p/10738536.html
Copyright © 2020-2023  润新知