C/C++知识点之C语言博客作业--字符数组
小标 2018-09-19 来源 : 阅读 1023 评论 0

摘要:本文主要向大家介绍了C/C++知识点之C语言博客作业--字符数组,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

本文主要向大家介绍了C/C++知识点之C语言博客作业--字符数组,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

一、PTA实验作业
题目1:7-1 字符串转换成十进制整数
1. 本题PTA提交列表

2. 设计思路

    定义i,m控制循环 
    定义s[80]存原始的字符串,h[80]存筛选后的十六进制字符串
    long number存放 最后的十进制结果 
    i=0;
    h[0]=‘+‘;先让第一个字符为“+” 
    输入已#结尾的字符串s[80] 
    i++; 
     s[i]=‘\0‘;
     m=0;
     for i=0 to s[i]!=‘\0‘ {//筛选十六进制字符串 
        若有s[i]中有“-”号 {
            判断h[0]第一个字符是否还是“+”(目的为判断这里的s[i]是不是在产生十六进制前的第一个负号) 
                h[0]=‘-‘;
                m++;
             }
         }
        else{
            如果s[i]是十六进制字符则{
                s[i]入h[m]内 
                m++;
            }
        }
     }
     结束字符h[m]=‘\0‘;
     number=0;
     for(i=0;h[i]!=‘\0‘;i++){//转为十进制  
            如果h[i]是数字型       number=number*16+h[i]-‘0‘;
            如果h[i]是小写字母a到f number=number*16+h[i]-‘a‘+10;
            如果h[i]是大写字母A到F number=number*16+h[i]-‘A‘+10;
     }
     如果h[0]存放着负号先输出h[0]
     输出number 

3.代码截图


4.本题调试过程碰到问题及PTA提交列表情况说明。

如何识别出现十六进制字符前的第一个负号 解决办法:把新字符串的第一个字符先赋给一个符号,若发现第一个十六进制字符前没有负号就把该十六进制字符赋给第一个字符
进制转换 解决办法:看了课本的类似的题的代码,用字符减去该类型的第一个值的ASCII码,如数字类型减‘0’,字母类型减了之后还需要再加上10

题目2:7-3 找最长的字符串
1. 本题PTA提交列表

2. 设计思路

    定义i控制循环,N表示N个字符串
    输入N 
    定义count[N]存放每个字符串的字符数 
    定义s[100000]存放字符串 
    for i=0 to i<N {
        定义一个 n=0 在接下来的循环中记录每行字符串的字符数 
        当s[m]不为回车时{
            m++;
            n++;
        }
        count[i]=n;
    }

    定义max=0来找count数组里面最大的值,flag记录最大的那个count值时的下标 
    for i=0 to N{
        如果count[i]大于max{
            max被count[i]替换 
            flag记录下此时的下标 
        }
    }
    
    输出  ("The longest is: ");
    定义 add=0 来加上count[flag] 之前的所有count数组 
    for i=0 to flag{
        add=add+count[i];累加 
    } 

    for i=add-max to add {
        输出s[i] 
    }

3.代码截图

4.本题调试过程碰到问题及PTA提交列表情况说明。
题目2:7-3 找最长的字符串
1. 本题PTA提交列表

2. 设计思路

    定义i控制循环,N表示N个字符串
    输入N 
    定义count[N]存放每个字符串的字符数 
    定义s[100000]存放字符串 
    for i=0 to i<N {
        定义一个 n=0 在接下来的循环中记录每行字符串的字符数 
        当s[m]不为回车时{
            m++;
            n++;
        }
        count[i]=n;
    }

    定义max=0来找count数组里面最大的值,flag记录最大的那个count值时的下标 
    for i=0 to N{
        如果count[i]大于max{
            max被count[i]替换 
            flag记录下此时的下标 
        }
    }
    
    输出  ("The longest is: ");
    定义 add=0 来加上count[flag] 之前的所有count数组 
    for i=0 to flag{
        add=add+count[i];累加 
    } 

    for i=add-max to add {
        输出s[i] 
    }

3.代码截图

4.本题调试过程碰到问题及PTA提交列表情况说明。
题目3:7-5 统计大写辅音字母
1. 本题PTA提交列表

2. 设计思路

3.代码截图

4.本题调试过程碰到问题及PTA提交列表情况说明。
二、截图本周题目集的PTA最后排名。
三、同学代码结对互评
1.互评同学名称
2.我的代码、互评同学代码截图
3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。
四、本周学习总结
1.你学会了什么?
1.1指针变量如何定义(设计代码可以用markdown代码符号渲染)?
1.2 指针加法运算运用在哪种情况,2个指针变量能否相加?
1.3 指针不赋初值,直接使用,会出现什么情况,请用DEVC验证,并截图展示?
1.4 课堂派上关于分离浮点数的整数部分和小数部分那题,请用DEVC验证实现,并在此贴图展示,同时说明哪句是指针变量做函数形参,函数实参应该怎么表示。指针变量做函数形参有什么用处?
1.5 请把课本的冒泡排序的函数改成指针变量做形参格式,并把代码写在底下,注意用markdown语法渲染。
1.6 如何定义一个指针变量指向数组,如何用指针变量表示数组元素?
1.7 如何定义字符指针指向字符串?指针指向字符串后,初始位置在哪里?
1.8 利用字符指针操作字符串,如设计函数实现字符串连接,请在此贴图展示代码。说明指针表示字符的方法好处是什么?
2.本周你不会内容有什么?
2.1 课堂派错题罗列及如何订正。
2.2 其他不会的?打算怎么解决
3.数组上机考试小结
3.1 那题错了,请罗列?
3.2 错题如何订正,为什么错了?

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程