第二次作业

第二次作业

 
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\n");
        return 0;
      }
      fseek(fp, 0, SEEK_END);
      fputs("2018103006\n", fp);
    int p = 0,i=0;
    int counts=0;
    printf("请输入生成练习题个数:");
    scanf("%d", &p );
    printf("2018103006\n");
    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] = "÷\0";
                   strcat(d,zfc);
                }else{
                    char zfc[2];
                    zfc[0] = s[y];
                    zfc[1] = '\0';
                    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,"\n");
        fwrite(d, strlen(d), 1, fp);
       // cout<<i<<endl;
        cout<<d;

       // cout<<z<<"= "<<ans<<endl;
      }
        fclose(fp);
      // cout<<counts;
      return 0;
  }
View Code

感想:

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


转载于:https://www.cnblogs.com/1234ply/p/10596856.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值