• 第二次作业


    第二次作业

     
    GIT地址 https://github.com/pengliuyang/-urban-eureka
    GIT用户名 彭留洋
    学号后五位 62622
    博客地址 https://www.cnblogs.com/1234ply/
    作业链接 https://www.cnblogs.com/ChildishChange/p/10398212.html

     一.环境配置问题
    环境配置上的问题主要通过在网上查询方法,指令等。

    下载好之后点击安装,可自定义安装路径,2.17版本可按照默认选项进行安装,这里讲一讲遇到的问题:

    使用Git克隆及提交代码

    在Git上注册自己的账号,在官方网站上下载了Git Bash。找到阿超的计算机,点击fork,拷贝到自己的账号下

    安装完成后可在开始菜单找到Git文件夹,运行Git Bash 会弹出一个命令行类似的窗口

    接下来,我直接进行了一些基本信息设置

      a、设置用户名:git  config -- global  user.name  '你再github上注册的用户名';

      b、设置用户邮箱:git  config -- global  user.email  '注册时候的邮箱';

    然而出现了fatal致命错误,这时我们可以通过git init 解决如果不执行 git init就会出现错误!!!

    #include<stdio.h>
    #include<iostream>
    #include<cstdlib>
    #include<string.h>
    #include<time.h>
    #include<windows.h>
    using namespace std;
    char s[4]={'+','-','*','/'};//符号
    int main()
      {
        srand(time(NULL));//用系统当前时间设置rand()随机序列种子,保证每次运行随机序列不一样
          //存入文件
          FILE *fp = fopen("./result.txt", "a+");
          if (fp==0) {
            printf("can't open file
    ");
            return 0;
          }
          fseek(fp, 0, SEEK_END);
          fputs("2018103006
    ", fp);
        int p = 0,i=0;
        int counts=0;
        printf("请输入生成练习题个数:");
        scanf("%d", &p );
        printf("2018103006
    ");
        for(i=1;i<=p;i++){
            int c[100]= {-1};
            char d[100]={0};
            int ans=0,cf=1,f=0,x,y,z;
            int  n  =  rand()%3+3;//运算数个数
            int count_ysfu = 0;
            for(int j=1;j<n;++j)
            {
                x=rand()%100,y=rand()%4;
                //运算符
                c[j]=y;count_ysfu++;//存下角标判断是否是相同运算
            //    cout<<"dddd"<<c[j];
                //除0运算
                if(x==0&&f==3){
                      x=rand()%100+1;
                     }
    
            //
                char now[3];
                itoa(x,now,10);
                strcat(d,now);
                 if(y==3){
                       char zfc[4] = "÷";
                       strcat(d,zfc);
                    }else{
                        char zfc[2];
                        zfc[0] = s[y];
                        zfc[1] = '';
                        strcat(d,zfc);
                     }
    
            if(s[y]=='*'||s[y]=='/')
            {
                if(f==0)
                {
                    cf*=x;
                }
                else if(f==1)
                {
                    cf*=-x;
                }
                else if(f==2)
                {
                    cf*=x;
                }
                else
                {
                    cf/=x;
                }
            }
            else
            {
                if(f==0)
                {
                    ans+=x;
                }
                else if(f==1)
                {
                    ans-=x;
                }
                else if(f==2)
                {
                    cf*=x;
                    ans+=cf;
                    cf=1;
                }
                else
                {
                    cf/=x;
                    ans+=cf;
                    cf=1;
                }
            }
    
                //cout<<x<<s[y];
                f=y; //记录上一次运算符,比较。
        }
        //z=ans
    
    
                z=rand()%100+1;
                if(f==0)
                {
                    ans+=z;
                }
                else if(f==1)
                {
                    ans-=z;
                }
                else if(f==2)
                {
                    cf*=z;
                    ans+=cf;
                    cf=1;
                }
                else
                {
                    cf/=z;
                    ans+=cf;
                    cf=1;
                }
    
                counts++;
    
               int k,flag = 0;
               // flag 表示是否遇到了不相等的元素
                for (k = 2; k < n-1; k++) {
                    if (c[k] != c[1]) { // 遇到了不等于x[0]的元素,设置 flag = 1,然后跳出循环
                        flag = 1; break;
                    }    
                }
                    if (flag == 0) { // 输出判断结果
                        i--;
                        continue;
                    }
            char now[3];
            itoa(z,now,10);
            strcat(d,now);
            char res[30];
            itoa(ans,res,10);
            strcat(d,"=");
            strcat(d,res);
            strcat(d,"
    ");
            fwrite(d, strlen(d), 1, fp);
           // cout<<i<<endl;
            cout<<d;
    
           // cout<<z<<"= "<<ans<<endl;
          }
            fclose(fp);
          // cout<<counts;
          return 0;
      }
    View Code

    感想:

    本来以为项目比较简单,感觉两三天可以做完,但是实际上花了一周时间在图书馆编程。在写代码的过程中遇到很多问题,一遇到问题就得停下来去找相应的解决方法,经常是代码写了又删,删了又写,效率比较低,以后一定要事先设计,想好整个流程再写代码。通过这次作业,我感受到了算法在项目中的重要性,算法是一个项目的灵魂。


  • 相关阅读:
    Cassandra
    【CISCO强烈推荐】生成树 《路由协议》 卷一二 拥塞:网络延迟 阻塞:进程中 MTU QS:服务质量 OSPF RIP ISIS BGP 生成树 《路由协议》 卷一二
    m*n matrix min rank square matrix
    Moving Computation is Cheaper than Moving Data
    SASL mechanism
    一阶 斜率 二阶 原函数的粗糙度 roughness
    Linux 虚拟内存盘
    Bloom Filters
    R Tree
    释放内存
  • 原文地址:https://www.cnblogs.com/1234ply/p/10596856.html
Copyright © 2020-2023  润新知