标题:C语言随机出十个加减乘除运算,判断对错给总分
只看楼主
门门哒
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-10-14
结帖率:50%
已结贴  问题点数:20 回复次数:10 
C语言随机出十个加减乘除运算,判断对错给总分
C语言随机出十个加减乘除运算,判断对错给总分 怎么弄啊
搜索更多相关主题的帖子: 随机 加减乘除 运算 判断 总分 
2017-10-14 22:31
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
是不是这样:
设计N条加减乘除运算的算式和运算结果
随机取10条算式
显示算式
输入运算结果
比对结果,对则给分累加得分,不对则减分累减得分
显示得分


2017-10-15 06:44
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:620
专家分:3020
注 册:2011-4-22
得分:1 
数据用随机数并元整,加减乘除也用随机数1234筛选。检测算式有效再显示。验证结果很简单了,人工算出结果和计算机结果比对一下就可以了
2017-10-15 08:13
门门哒
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-10-14
得分:0 
是的
2017-10-15 10:51
门门哒
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-10-14
得分:0 
结果错误时还要显示正确答案是多少
这个程序怎么打啊
2017-10-15 12:57
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:620
专家分:3020
注 册:2011-4-22
得分:0 
回复 5楼 门门哒
求个答案直接交卷?这有什么意义?
2017-10-15 16:15
门门哒
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-10-14
得分:0 
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void fun()
{
    printf("小学生数学测试开始");
    int a,b,c,d,e,t=0,i;
    srand(time(NULL));
    for(i=0; i < 10;i++)
    {
    a=rand()%100+1;
    b=rand()%100+1;
    c=rand()%4+1;
    switch(c)
    {
    case 1:d=a+b;printf("%d+%d=",a,b);break;
    case 2:d=a-b;printf("%d-%d=",a,b);break;
    case 3:d=a*b;printf("%d*%d=",a,b);break;
    case 4:d=a;printf("%d/%d=",a*b,b);break;
    }  
    scanf("%d",&e);
    if(d==e)printf("回答正确!\n");t=t+1;
    else printf("回答错误!答案是: %d\n",d);
}
    printf("总分= %d\n",t*10);
}
int main()
{
    while(1)fun();
    return 0;
}
为什么会显示不匹配
2017-10-15 17:11
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:620
专家分:3020
注 册:2011-4-22
得分:0 
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void fun()
{
    printf("小学生数学测试开始");
    int a,b,c,d,e,t=0,i;
    srand(time(NULL));
   
    for(i=0; i < 10;i++)
    {
        a=rand()%100+1;
        b=rand()%100+1;
        c=rand()%4+1;
        switch(c)
        {
            case 1:d=a+b;printf("%d+%d=",a,b);break;
            case 2:d=a-b;printf("%d-%d=",a,b);break;
            case 3:d=a*b;printf("%d*%d=",a,b);break;
            case 4:d=a;printf("%d/%d=",a*b,b);break;
        }  
        scanf("%d",&e);
        if(d==e)
            {
                printf("回答正确!\n");
                t=t+1;
            }
        else
            printf("回答错误!答案是: %d\n",d);
    }
        printf("总分= %d\n",t*10);
}

int main()
{
    while(1)fun();        
    return 0;
}

[此贴子已经被作者于2017-10-16 17:13编辑过]

2017-10-16 10:07
门门哒
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-10-14
得分:0 
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void fun()
{
    printf("小学生数学测试开始\n");
    int a,b,c,d,e,t=0,i;
    srand(time(NULL));
    for(i=0; i < 10;i++)
    {
    a=rand()%100+1;
    b=rand()%100+1;
    c=rand()%4+1;
    switch(c)
    {
    case 1:d=a+b;printf("%d+%d=",a,b);break;
    case 2:d=a-b;printf("%d-%d=",a,b);break;
    case 3:d=a*b;printf("%d*%d=",a,b);break;
    case 4:d=a/b;printf("%d/%d=",a,b);break;
    }  
    scanf("%d",&e);
    if(d==e){printf("回答正确!\n");t=t+1;}
    else{ printf("回答错误!答案是: %d\n",d);}
}
    printf("总分= %d\n",t*10);
}
int main()
{
    while(2){fun();}
    return 0;
}
while后面应该也要加花括号吧
另外这是无限循环的,怎么把它改成就只执行一次
2017-10-16 22:47
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:620
专家分:3020
注 册:2011-4-22
得分:19 
int main()
{
    fun();
    return 0;
}
只执行一次。
花括号的目的是把多个语句视作一段执行。如果这一段只有一个语句,加不加都一样。
一个分号代表一个语句结束。
2017-10-16 23:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-481404-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.637506 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved