zoukankan      html  css  js  c++  java
  • 关于30道题目问题

    要求:

    1.30道题 随机

    2.包含真分数加减乘除

    3.不重复

    4.判断是否正确

    #include "stdafx.h"
    
    
    #include <stdio.h> 
    #include<stdlib.h>
    
    int i, j, k;
    int a, b, c, d, e, f, g, h, x, y, z;
    int yuefen(int, int){
    int min;
    if (x>y){
    min = y;
    }
    else{
    min = x;
    }
    for (k = min - 1; k > 1; k--)
    {
    if (x%k == 0 && y%k == 0){
    z = (x / k) / (y / k);
    }
    else{
    z = x / y;
    }
    }
    return z;
    }
    int main(){
    int num = 0;
    printf("请输入需要几道题:");
    scanf("%d", &num);
    int aa[100] = { 0 * 100 };
    int bb[100] = { 0 * 100 };
    int cc[100] = { 0 * 100 };
    int dd[100] = { 0 * 100 };
    int ee[100] = { 0 * 100 };
    int ff[100] = { 0 * 100 };
    int gg[100] = { 0 * 100 };
    int hh[100] = { 0 * 100 };
    int zong[100] = { 0 * 100 };
    int daan[100] = { 0 * 100 };
    for (i = 1; i <= num; i++)
    {
    e = 0;
    while (e % 10 == 0)
    {
    e = rand() % 10 + 10;
    }
    ee[i] = e;
    f = 0;
    while (f % 10 == 0)
    {
    f = rand() % 10 + 10;
    }
    ff[i] = f;
    g = 0;
    while (g % 10 == 0)
    {
    g = rand() % 100 + 10;
    }
    gg[i] = g;
    h = 0;
    while (h % 10 == 0)
    {
    h = rand() % 10 + 10;
    }
    hh[i] = h;
    a = rand();
    while (a > e)
    {
    a = rand();
    }
    aa[i] = a;
    b = rand();
    while (b > f)
    {
    b = rand();
    }
    bb[i] = b;
    c = rand();
    while (c > g)
    {
    c = rand();
    }
    cc[i] = c;
    d = rand();
    while (d > h)
    {
    d = rand();
    }
    dd[i] = d;
    x = h*(a*f*g + e*b*c);
    y = d*e*f*g;
    yuefen(x, y);
    int q;
    for (q = 0; q<i; q++)
    if (z == zong[q]){
    if (aa[q] == a&&bb[q] == b&&cc[q] == c&&dd[q] == d&&ee[q] == e&&ff[q] == f&&gg[q] == g&&hh[q] == h)
    {
    i == i - 1;
    }
    else{
    zong[i] = z;
    }
    }
    else{
    zong[i] = z;
    }
    printf("%d/%d+%d/%d×%d/%d)÷%d/%d=
    ", a, e, b, f, c, g, d, h);
    }
    for (j = 0; j < num; j++)
    {
    double s;
    printf("请输入正确答案:");
    scanf("%d", &s);
    daan[j] = s;
    if (daan[j] = zong[i])
    printf("正确
    ");
    else
    printf("错误
    ");
    }
    return 0;
    }
    

      

    非完全正确,包括答案精确性,加减乘除随机性,数的固定随机没有解决......

    //

    改:

    #include "stdafx.h"
    
    
    #include <stdio.h> 
    #include<stdlib.h>
    int i, j, k;
    int a, b, c, d, e, f, g, h, x, y, z;
    int yuefen(int, int){
    int min;
    if (x>y){
    min = y;
    }
    else{
    min = x;
    }
    for (k = min - 1; k > 1; k--)
    {
    if (x%k == 0 && y%k == 0){
    x = x / k;
    y = y / k;
    }
    }
    return x, y;
    }
    int main(){
    int num;
    printf("请输入需要几道题:");
    scanf("%d", &num);
    int aa[100] = { 0 * 100 };
    int bb[100] = { 0 * 100 };
    int cc[100] = { 0 * 100 };
    int dd[100] = { 0 * 100 };
    int ee[100] = { 0 * 100 };
    int ff[100] = { 0 * 100 };
    int gg[100] = { 0 * 100 };
    int hh[100] = { 0 * 100 };
    int xx[100] = { 0 * 100 };
    int yy[100] = { 0 * 100 };
    int zong[100] = { 0 * 100 };
    int daan[100] = { 0 * 100 };
    for (i = 0; i<num; i++)
    {
    e = 0;
    while (e % 10 == 0)
    {
    e = rand() % 10 + 10;
    }
    ee[i] = e;
    f = 0;
    while (f % 10 == 0)
    {
    f = rand() % 10 + 10;
    }
    ff[i] = f;
    g = 0;
    while (g % 10 == 0)
    {
    g = rand() % 10 + 10;
    }
    gg[i] = g;
    h = 0;
    while (h % 10 == 0)
    {
    h = rand() % 10 + 10;
    }
    hh[i] = h;
    a = rand();
    while (a > e)
    {
    a = rand();
    }
    aa[i] = a;
    b = rand();
    while (b > f)
    {
    b = rand();
    }
    bb[i] = b;
    c = rand();
    while (c > g)
    {
    c = rand();
    }
    cc[i] = c;
    d = rand();
    while (d > h)
    {
    d = rand();
    }
    dd[i] = d;
    x = h*(a*f*g + e*b*c);
    y = d*e*f*g;
    yuefen(x, y);
    //printf("%d,%d", x, y);//
    int q;
    for (q = 0; q <= i; q++){
    
    if (x == xx[q] && y == yy[q]){
    if (aa[q] == a&&bb[q] == b&&cc[q] == c&&dd[q] == d&&ee[q] == e&&ff[q] == f&&gg[q] == g&&hh[q] == h)
    {
    i == i - 1;
    }
    else{
    xx[i] = x;
    yy[i] = y;
    }
    }
    else{
    xx[i] = x;
    yy[i] = y;
    }
    }
    printf("(%d/%d+%d/%d×%d/%d)÷%d/%d=
    ", a, e, b, f, c, g, d, h);
    
    }
    for (j = 0; j < num; j++)
    {
    int s, t;
    printf("请输入正确答案:");
    scanf("%d", &s);	
    scanf("/%d", &t);
    if (s == xx[j] && t == yy[j]){
    
    printf("正确
    ");
    
    }
    else{
    
    printf("错误
    ");
    
    }
    }
    return 0;
    }
    

      

  • 相关阅读:
    机房管理系统
    Red_Black_Tree C++
    Binary_Seach_Tree(BST) C++
    贪吃蛇小笔记
    转-Unix系统进程对SIGTERM、SIGUSR1和SIGUSR2信号处理
    My Dev Env
    mac gdb home-brew
    pub python
    ioctl siocgifhwaddr mac os x
    macbook与外接显示器
  • 原文地址:https://www.cnblogs.com/logo132/p/9751592.html
Copyright © 2011-2022 走看看