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("计算正确!\n");right++;
            }
            else
            {
                printf("计算错误!\n");wrong++;
            }
            break;
        case 1:
            if(f==c-e)
            {
                printf("计算正确!\n");right++;
            }
            else
            {
                printf("计算错误!\n");wrong++;
            }
            break;
        case 2:
            if(f==c*e)
            {
                printf("计算正确!\n");right++;
            }
            else
            {
                printf("计算错误!\n");wrong++;
            }
            break;
        case 3:
            if(f==c/e)
            {
                printf("计算正确!\n");right++;
            }
            else
            {
                printf("计算错误!\n");wrong++;
            }
            break;
        }
        printf("按任意键继续,q则退出!\n");
    //    scanf("%d",&quit);
    //    if(quit==0)
        fflush(stdin);
        if(getchar()=='q')
            break;
    }
    printf("共答对%d道题,共答错%d道题\n",right,wrong);
}

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

posted @ 2016-03-16 13:31  好牛班的名字  阅读(426)  评论(0编辑  收藏  举报