zoukankan      html  css  js  c++  java
  • C语言I博客作业03

    这个作业属于那个课程 C语言程序设计I
    这个作业要求在哪里 C语言I博客作业03
    我在这个课程的目标是 能熟练规范的编写C语言
    这个作业在那个具体方面帮助我实现目标 练习做题,并归纳总结
    参考文献 PTA

    1.PTA实验作业

    1.3 计算存款利息

    1.3.1 实验代码截图

    1.3.2 数据处理

    数据表达:用到了interest,money,year,rate。其中interest为存款到期时的利息(税前),money是存款金额,year是存期,rate是年利率。都是浮点型数据。输入和计算得来。
    数据处理:表达式:interest=x*pow(1+rate,y)-x,顺序的流程结构。

    1.3.3 PTA提交列表及说明


    开始用的是整型数据,错了,应该用浮点型数据。

    1.2 计算分段函数[2]

    1.2.1 实验代码截图

    1.2.2 数据处理

    数据表达:用到了x,y。都是浮点型数据。
    数据处理:y=pow(x+1,2)+2*x+1/x;分段结构。

    1.2.3 PTA提交列表及说明


    if语句后的条件要用==的关系运算符。

    1.3 超速判断

    1.3.1 实验代码截图

    1.3.2 数据处理

    数据表达:车速,v,整型数据
    数据处理:分段结构

    1.3.3 PTA提交列表及说明


    余符号%,前后要加空格。

    2.阅读代码

    #include <iostream>
    #include <stdio.h>
    #include <cstring>
    using namespace std;
    const int N=16000005;
     
    const int NUM=300;
    bool hash[N];
    int m[NUM];
    char str[1000000];
    int main()
    {
        int tt;
        cin>>tt;
        while(tt--)
        {
            int n,nc,i,j,sum,seed=0,ans=0;
            memset(hash,false,sizeof(hash));
            memset(m,0,sizeof(m));
            memset(str,'',sizeof(str));
            cin>>n>>nc>>str;
            for(i=0; '' != str[i]; ++i)
            {
                if(!m[str[i]])
                    m[str[i]]=++seed;
                if(seed == nc)
                    break;
            }
            int len=strlen(str);
            for(i=0; i<=len-n; ++i)
            {
                sum=0;
                for(j=0; j<n; ++j)
                    sum=sum*nc+m[str[i+j]]-1;
                if(!hash[sum])
                {
                    hash[sum]=true;
                    ++ans;
                }
            }
           if(tt)
            cout<<ans<<endl<<endl;
            else
            cout<<ans;
        }
        return 0;
    }
    

    优点:该程序给定子字符串的大小N,文本NC中可能出现的不同字符的数目以及文本本身,确定出现在字符串中的大小为N的不同子字符串的数目。用简洁的语言就很好地描述了出来
    可以学习的地方:结构工整,精简,算法高超,没有多余的代码,例如if的分段结构很多但是却井然有序。

    3.学习总结

    3.1 学习进度条

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    10/7--10/13 8小时 条件语句(if,else),输入函数scanf 学习不到位,代码会有很多错误,要认真分析错误方法 很多代码还看不懂

    3.2 累积代码行和博客字数

    3.3 学习感悟

    发现了C语言学习最重要的就是严格,谨慎,一丝不苟。书本知识很重要,是基础。但是编写程序,实践知识是同样重要的事。
    C语言的魅力无穷,值得我投身其中去学习。

  • 相关阅读:
    MultipartFile(文件的上传)
    JSONObject.fromObject--JSON与对象的转换
    Map集合与转化
    java读取excel文件
    Java中的Arrays类使用详解
    Arrays 类的 binarySearch() 数组查询方法详解
    JDK8 特性详解
    关于Java堆、栈和常量池的详解
    深入java final关键字
    杯酒人生
  • 原文地址:https://www.cnblogs.com/broaduniverse/p/11649720.html
Copyright © 2011-2022 走看看