• C语言博客作业05--指针


    1.本章学习总结

    1.1思维导图

    1.2 本章学习体会及代码量学习体会

    1.2.1学习体会

    在本章的学习中,我了解到了指针的原理与应用,指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。还学到了如何利用地址,找到它指向的存在电脑存储器中另一个地方的值,也学习了如何把指针和函数结合使用。但是指针的使用比较复杂,在使用的过程中容易漏写错写,比如在使用函数时容易忘记&、容易把(n)++或++n写成*n++,++优先级更高,导致不是对n所指内容加一。还有字符串的结束标志‘’也容易忘记加上。所以,平时对指针的练习就很重要,不然到考试的时候,真的容易忘记怎么使用,卡在题目半中间。

    1.2.2代码累计


    2.PTA总分

    2.1截图

    2.2我的总分

    125


    3.PTA作业

    3.1PTA题目一

    本题要求编写一个解密藏尾诗的程序。

    3.1.1算法分析

    定义二维数组poem[4][20],字符数组end[10];
    定义 i,t;
    for i=0 to i=3 do 
       t=strlen(poem[i]);
       end[2*i]=poem[i][t-2];
       end[2*i+1]=poem[i][t-1];
    结束循环
    end[2*i]=''; //结束符号
    输出end;
    end
    
    

    3.1.2代码截图

    3.1.3PTA提交列表及说明

    • Q1.刚开始想把一行一行的诗倒过来,然后取第一个字,这样就相当于是取尾了。
    • A1.发现行不通,因为每行诗的长度不一样。
    • Q2.将poem数组的最后一个字赋值到end中,但是最后输不出来。
    • A2.百度了才知道,要将最后两个单位都赋值过去,即一个汉字要赋值两次。

    4.大作业

    题目:实现小学四则运算。

    4.1.改造函数介绍

    1.函数一

    定义整型数n,p;
    定义字符x,y,op,temp;
    srand(time(NULL)); 
        x=(int(rand()%10)+'0'); //生成数字字符  
    	strcat(A,&x);
    	A[1]='';
        char a[]={'+','-','*','/'}; //生成运算符 
    	n=rand()%4;
    	op=a[n];
    	temp等于op;
    	strcat(A,&op);
    	A[2]='';
        for p=0 to flag!=1 do
            y=(int(rand()%10)+'0');
            if temp等于除号且y等于0,进入下一个循环;
            if temp等于除号且y不等于0,flag=1;
            if temp不等于除号 flag=1;
            strcat(A,&y);
    	    A[3]='=';
    	    A[4]='';
    return A;
    
    

    2.函数二

    定义整型数n,p,q;
    定义字符x,y,op;
    for q=0 to q<2 do
        for p=0 to p=1 do{
            x=(int(rand()%10)+'0');//生成数字字符 
            strcat(B,&x);
            B[p+q*3+1]='';
        }
            char a[]={'+','-'}; //生成运算符 
            n=rand()%2;
            op=a[n];
            strcat(B,&op);
            B[3+q*3]='';
        for p=0 to p=1 do //生成数字字符 
    	{
    	    y=(int(rand()%10)+'0');
    	    strcat(B,&y);
    	    B[7+p]='';
    	}
    	B[8]='=';
    	B[9]='';
    return B;
    
    

    3.函数三

    定义整型数n,p,q;
    定义字符x,y,op;
    for q=0 to q<2 do
        for p=0 to p=2 do
            x=(int(rand()%10)+'0');//生成数字字符 
                strcat(C,&x);
                C[p+q*4+1]='';
            char a[]={'+','-'}; //生成运算符
                n=rand()%2;
                op=a[n];
                strcat(C,&op);
                C[4+q*4]='';
            for p=0 to p=2 do //生成数字字符
                y=(int(rand()%10)+'0');
                strcat(C,&y);
                C[9+p]='';
            C[11]='=';
            C[12]='';
    return C;
    

    4.函数四

    int ComputeExp(char *exp)
    { 
        定义整型数 len,n=0;
        定义整型数 i,flag=0;
        定义字符 op;
        定义浮点数 m=0,sum=0;
    	len等于strlen(exp);
    	for i=len-1 to i=0 do
                if exp[i]<='9'并且exp[i]>='0' then
                        m=pow(10,n)*(exp[i]-'0')+m;
                        n++;
                if exp[i]=='+'或者exp[i]=='-' then
                            flag=2;
                        if exp[i]等于加号
                            sum+=m;
                        else
                            sum-=m;
                            n=0;
                            m=0;
                if flag等于1 或 exp[i]等于除号 或 exp[i]等于乘号 then
                            flag++;
                       if flag等于1 then
                            op=exp[i];
                            sum=m;
                            m=0;
                            n=0;
                       else
                            if op等于乘号 then sum=m*sum;
                            if op等于除号 then sum=m/sum;
                            return sum;
                if i等于0 then sum=sum+m;
    return sum;  
    
    

    4.3 与原有函数代码比较

    开始页面

    函数一

    函数二

    函数三

    函数四

    4.3改进大作业总结

    • 1 因为当时搞不清如何把随机算式用字符串表示,所以干脆写了三个函数分别生成三个算式字符串,比较麻烦,还是要多看看别人的代码学习一下。

    • 2 在写计算正确答案的函数时花了不少时间,总是小错误不断,但最后总算也能运行正确。

    • 3 总的来说,指针这块内容没学好,代码没有做到简化,应该多向他人学习。

  • 相关阅读:
    苹果 01背包
    Robberies 01背包变形 hdoj
    01背包
    小希的迷宫--并查集
    德克萨斯长角牛 --最短路径
    1596 最短路径的变形
    hibernate重要知识点总结
    Apache与Tomcat整合的配置
    java串口通讯环境配置
    使用spring的aop对Struts2的Action拦截后出现依赖注入为空问题
  • 原文地址:https://www.cnblogs.com/chianun2000/p/10127660.html
Copyright © 2020-2023  润新知