• 2019春第八周作业


    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/MS/homework/3080
    我在这个课程的目标是 学会使用动态内存分配来解决问题
    这个作业在哪个具体方面帮助我实现目标 理解和掌握动态内存分配的具体使用
    参考文献 C语言程序设计II第八章

    一、本周完成作业

    基础作业1

    1.实验代码

    #include <stdio.h>
    #define MAXS 20
    
    void f( char *p );
    void ReadString( char *s );
    
    int main()
    {
        char s[MAXS];
    
        ReadString(s);
        f(s);
        printf("%s
    ", s);
    
        return 0;
    }
    void f( char *p )
    {
    int i=0,m=0,n,temp;
    while(p[i]!='')
    i++;
    n=i-1;
    while(m<=n)
    {
    temp=p[m];
    p[m]=p[n];
    p[n]=temp;
    m++;
    n--;
    }
    }

    2.设计思路

    3.本题调试过程碰到的问题及解决办法 

    本题比较简单基本没什么问题

    4.运行结果截图

    基础作业2

    1.实验代码

    #include <stdio.h>
    #include <string.h>
    
    #define MAXS 10
    
    char *str_cat( char *s, char *t );
    
    int main()
    {
        char *p;
        char str1[MAXS+MAXS] = {''}, str2[MAXS] = {''};
    
        scanf("%s%s", str1, str2);
        p = str_cat(str1, str2);
        printf("%s
    %s
    ", p, str1);
    
        return 0;
    }
    char *str_cat(char *s, char *t)
    {
        char*m=s;
    while(*s!=''){
    s++;
    }
    while(*t!=''){
    *s=*t;
    t++;
    s++;
    }
    return m;
    }
    2.设计思路
    3.本题调试过程碰到的问题及解决办法
    一开始没有定义一个指针等于s,出现了错误,然后自己问同学得以解决
    错误截图
    4.运行结果截图
    基础作业3
    1.实验代码
    #include<stdio.h>
    #include<stdlib.h>
    int main ()
    {
        int n,i,*p;
        double max,min,sum=0,average;
        scanf("%d",&n);
        if((p=(int*)calloc(n,sizeof(int)))==NULL){
            printf("Not able to allocate memory. ");
            exit(1);
        }
        for(i=0;i<n;i++){
            scanf("%d",p+i);
        }
        max=min=*(p+0);
        for(i=0;i<n;i++){
            sum=sum+*(p+i);
            if(*(p+i)>max){
            max=*(p+i);
            }
            if(*(p+i)<min){
            min=*(p+i);
        }
        }
        average=sum/n;
        printf("average = %.2f max = %.2f min = %.2f",average,max,min);
        free(p);
        return 0;
    }
    2.设计思路
    3.本题调试过程碰到的问题及解决办法 
    一开始想的太复杂,找max和min时用一个中间数来跟*(p+i)交换导致部分正确,然后换了一个方法就对了
    错误截图
    4.运行结果截图
    基础作业4
    1.实验代码
    #include<stdio.h>
    #include<string.h>
    int main()
    {
    int i,j;
    char a[5][80], t[80];
    for (i = 0; i < 5; i++)
    {
    scanf("%s",&a[i]);
    }
    for (i=1;i<5;i++)
    {
    for (j =0; j < 5-i ;j++)
    if (strcmp(a[j], a[j+1]) > 0)
    {
    strcpy(t,a[j]);
    strcpy(a[j], a[j + 1]);
    strcpy(a[j + 1], t);
    }
    }
    printf("After sorted: ");
    for (i = 0; i < 5; i++){
        printf("%s ",a[i]);
        }
    return 0;
    }
    2.设计思路
    3.本题调试过程碰到的问题及解决办法
    本题都是一些小错误,经过自己检查和问同学之后改正
    4.运行结果截图
    预习作业
    1.实验代码
    #include<stdio.h>
    struct student
    {
    char num[6],name[10];
    int sore;
    };
    int main()
    {
    int N,i,sum=0;
    double average;
    struct student s[10];
    scanf("%d",&N);
    for(i=0;i<N;i++)
    {
    scanf("%s %s %d",&s[i].num ,&s[i].name ,&s[i].sore );
    sum=sum+s[i].sore ;
    }
    average=sum*1.0/N;
    printf("%.2f ",average);
    for(i=0;i<N;i++)
    {
    if(s[i].sore<average)
    printf("%s %s ",s[i].name,s[i].num);
    }
    }
    2.设计思路
    3.本题调试过程碰到的问题及解决办法 
    主要难点在于不知道前面要加一个 struct student 来定义,后面基本比较简单,算出总和跟平均值,再按要求输出一些同学的name跟sore
    数组s【5】导致部分正确,经过自己多次检查后改正
    错误截图
    4.运行结果截图
    挑战作业实在太难,不会做
    学习感悟
    总之就是还是要靠自己多钻研,老师只是辅助,要靠自己多找资料和问同学来学习,继续加油吧
    结对编程优缺点
    总的来说还是优点大于缺点的,能够相互学习共同进步取长补短,毕竟人多力量大嘛,2个人总比自己一个人解决问题好,好的队友也算自己半个老师了
  • 相关阅读:
    php后门隐藏技巧
    给你的PHP大马添加后门(黑吃黑)
    分析 PHP大马-php_mof SHELL
    过WAF菜刀制作
    eval与php一句话的关系
    php一句话转发脚本(可能过狗= =)
    wmic与mimikatz技巧
    LPK后门
    grunt常用插件的使用
    jquery实现后台系统左侧菜单的点击展开/收缩二级菜单效果
  • 原文地址:https://www.cnblogs.com/lyp82ndl/p/10738944.html
Copyright © 2020-2023  润新知