zoukankan      html  css  js  c++  java
  • C语言#自动生成四则运算的编程

    #include <iostream>
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    using namespace std;
    
    void main()
    {
        int A[10],B[10],i,m,n,T,a[10],b[10],c[10];
        char C;
        srand((unsigned)time(NULL));    
        n=0;T=0;
        for(i = 0;i<10;i++)
        {
    //产生随机符号
        m = rand()%4;
        if(m == 0)
            C = '+';
        else if(m == 1)
            C = '-';
        else if(m == 2)
            C = '*';
        else if(m == 3)
            C = '/';
        A[i] = rand()%100;
        B[i] = rand()%100;
    //输出题目
        if(C == '+')
        {cout<<A[i]<<"+"<<B[i]<<"=?"<<endl;a[i] = A[i]+B[i];}
        else if(C == '-')
        {cout<<A[i]<<"-"<<B[i]<<"=?"<<endl;a[i] = A[i]-B[i];}
        else if(C == '*')
        {cout<<A[i]<<"*"<<B[i]<<"=?"<<endl;a[i] = A[i]*B[i];}
        else if(C == '/')
        {cout<<A[i]<<"/"<<B[i]<<"=?"<<endl;a[i] = A[i]/B[i];}
        }
    //输出结果
        cout<<"结果为:";
        for(i=0;i<10;i++)
        {
            cin>>b[i];
            if(a[i] == b[i])
                n++;
            else
            {
                c[T] = i;
                T++;
            }
        }
    
        if(n==9)
            cout<<"恭喜你都答对了!"<<endl;
        else
        {
            cout<<"第";
            for(i=0;i<T;i++)
                cout<<c[i]+1<<"题错了!"<<endl;
        }
    }
    

    看题以后无从下手啊,然后就上网去查找,然后由网上改编而来了这上面的代码,感觉题是可以出来,但是题出来了输入结果以后就没有然后了,不知道哪里出现错误了,改不对。这C++代码看的头疼,以前看老师打代码容易的,可是自己动起手来却感觉那么难,一切都要练啊。而且C语言学过去挺久了都有些记不住了。所以啊,C语言一定要多用多练才能学的好,没有别的捷径,学、记、练。后来又在博客园找到一位博友的一篇C语言,感觉她写的非常好,对我帮助挺大的。其实经常逛逛博客园也是挺好的。我把她的代码粘贴下来吧:

    #include<stdio.h>
    #include<stdlib.h>
    void main()
    {
        int b=0,c,d=0,e,f;
        int x,right=0,wrong=0;
        while(1)
        {
        x=rand()%4;
        c=rand()%100;
        e=rand()%100;
            switch(x)
            {
            case 0:
                printf("%d + %d =",c,e);
                break;
            case 1:
                printf("%d - %d =",c,e);
                break;
            case 2:
                printf("%d * %d =",c,e);
                break;
            case 3:
                printf("%d ÷ %d =",c,e);
                break;
            }
            scanf("%d",&f);
            switch(x)
            {
            case 0:
                if(f==c+e)
                {
                    printf("计算正确!
    ");right++;
                }
                else
                {
                    printf("计算错误!
    ");wrong++;
                }
                break;
            case 1:
                if(f==c-e)
                {
                    printf("计算正确!
    ");right++;
                }
                else
                {
                    printf("计算错误!
    ");wrong++;
                }
                break;
            case 2:
                if(f==c*e)
                {
                    printf("计算正确!
    ");right++;
                }
                else
                {
                    printf("计算错误!
    ");wrong++;
                }
                break;
            case 3:
                if(f==c/e)
                {
                    printf("计算正确!
    ");right++;
                }
                else
                {
                    printf("计算错误!
    ");wrong++;
                }
                break;
            }
            printf("按任意键继续,q则退出!
    ");
        //    scanf("%d",&quit);
        //    if(quit==0)
            fflush(stdin);
            if(getchar()=='q')
                break;
        }
        printf("共答对%d道题,共答错%d道题
    ",right,wrong);
    }
    

    此程序出自:http://www.cnblogs.com/ZeJuan/p/4366763.html 大家觉得好的也可以看看

  • 相关阅读:
    树莓派的入网方式和远程连接
    数据结构与算法之递归(C++)
    c++中字符串输入注意的问题
    基于视觉的机械臂分拣(二)
    基于视觉的机械臂分拣(一)
    数据结构与算法之折半查找(C++)
    数据结构与算法之顺序查找(C++)
    ROS之USB摄像头识别二维码问题解决
    机械臂开发之正运动学
    利用vs pcl库将多个PCD文件合并成一张PCD地图
  • 原文地址:https://www.cnblogs.com/hzp0/p/5283126.html
Copyright © 2011-2022 走看看