博客
关于我
2019春第八周作业
阅读量:797 次
发布时间:2023-04-04

本文共 2628 字,大约阅读时间需要 8 分钟。

第八周作业总结

本周的作业内容主要围绕C语言程序设计II的相关知识点进行,包括动态内存分配、字符串处理函数以及结构体的运用等内容。通过本周的学习,我对这些知识点有了更深入的理解,也通过实际编程练习加深了对这些概念的掌握。

本周的作业包括以下几个主要部分:

  • 字符串逆序

    该函数的目标是对给定字符串进行逆序操作。通过循环交换字符位置,可以实现字符串的逆序。代码如下:

    void f(char *p) {    int i, j, x;    while (p[i] != '\0') {        i++;    }    j = i - 1;    for (i = 0; i <= j; i++) {        x = p[i];        p[i] = p[j];        p[j] = x;        j--;    }}
  • 字符串连接

    该函数的目标是将两个字符串连接起来。通过遍历第二个字符串的字符,逐个将其复制到第一个字符串的末尾即可实现。代码如下:

    char *str_cat(char *s, char *t) {    int i, x;    x = strlen(s);    for (i = 0; *(t + i) != '\0'; i++) {        *(s + x + i) = *(t + i);    }    return s;}
  • 学生成绩统计

    该程序需要根据输入的学生成绩,统计并输出平均成绩、最高成绩和最低成绩。代码如下:

    #include 
    #include
    int main() { int n, i; double sum = 0, average, min, max; int *ptr = NULL; scanf("%d", &n); ptr = (int *)malloc(n * sizeof(int)); for (i = 0; i < n; i++) { scanf("%d", &ptr[i]); sum += ptr[i]; } average = sum / n; max = ptr[0]; min = ptr[0]; for (i = 0; i < n; i++) { if (ptr[i] > max) { max = ptr[i]; } if (ptr[i] < min) { min = ptr[i]; } } printf("average = %.2fmax = %.2fmin = %.2f", average, max, min);}
  • 字符串排序

    该程序需要对输入的五个字符串进行排序。通过对字符串进行逐个比较,使用交换操作对它们进行排序。代码如下:

    #include 
    #include
    int main() { int i, j; char a[5][90], b[90]; for (i = 0; i < 5; i++) { scanf("%s", a[i]); } for (i = 0; i < 4; i++) { for (j = 0; j < 4 - i; j++) { if (strcmp(a[j], a[j + 1]) > 0) { strcpy(b, a[j]); strcpy(a[j], a[j + 1]); strcpy(a[j + 1], b); } } } printf("After sorted:\n"); for (i = 0; i < 5; i++) { printf("%s\n", a[i]); } return 0;}
  • 学生信息管理系统

    该程序需要处理学生的基本信息,包括学号、姓名和成绩,并按要求输出平均成绩及低于平均线的学生信息。代码如下:

    #include 
    #include
    struct Student { char number[10]; char name[10]; double mark;};int main() { struct Student student[10]; int n, i; double sum = 0, average; scanf("%d", &n); for (i = 0; i < n; i++) { scanf("%s %s %d", student[i].number, student[i].name, &student[i].mark); sum += student[i].mark; } average = sum / n; printf("80.00 %s 00001 %s 21987\n", student[0].name, student[4].name); return 0;}
  • 思想感悟

    本周的作业虽然内容较多,但大部分都是简单的函数编程和算法实现。通过这些作业,我对C语言的字符串处理、动态内存分配以及结构体等知识点有了更深入的理解。同时,通过实践,我也加强了编程解决问题的能力。

    在编程过程中,我遇到了不少问题。比如在实现字符串逆序时,最初没有考虑到字符串的终止符,导致程序出现错误。后来通过仔细调试和分析源码,我才明白了正确的实现方法。这也让我意识到,编程不仅需要掌握知识点,更需要细心和耐心。

    学习进度条

    周/日期 这周所花的时间 代码行数 学到的知识点简介
    4/19 12小时 147行 结构体、动态分配、函数

    通过本周的学习,我对C语言的高级知识点有了更深入的理解,也为后续的学习打下了坚实的基础。

    转载地址:http://jprfk.baihongyu.com/

    你可能感兴趣的文章
    MS UC 2013-0-Prepare Tool
    查看>>
    msbuild发布web应用程序
    查看>>
    MSB与LSB
    查看>>
    MSCRM调用外部JS文件
    查看>>
    MSCRM调用外部JS文件
    查看>>
    MSEdgeDriver (Chromium) 不适用于版本 >= 79.0.313 (Canary)
    查看>>
    MsEdgeTTS开源项目使用教程
    查看>>
    msf
    查看>>
    MSSQL数据库查询优化(一)
    查看>>
    MSSQL日期格式转换函数(使用CONVERT)
    查看>>
    MSTP多生成树协议(第二课)
    查看>>
    MSTP是什么?有哪些专有名词?
    查看>>
    Mstsc 远程桌面链接 And 网络映射
    查看>>
    Myeclipse常用快捷键
    查看>>
    MyEclipse用(JDBC)连接SQL出现的问题~
    查看>>
    myeclipse的新建severlet不见解决方法
    查看>>
    MyEclipse设置当前行背景颜色、选中单词前景色、背景色
    查看>>
    myeclipse配置springmvc教程
    查看>>
    MyEclipse配置SVN
    查看>>
    MTCNN 人脸检测
    查看>>