标题:随机生成10个加法算式(加数为1-100之间的整数,并且和不超过100),输入每 ...
只看楼主
有幸
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2021-12-6
 问题点数:0 回复次数:4 
随机生成10个加法算式(加数为1-100之间的整数,并且和不超过100),输入每个算式的计算结果,判断计算是否正确,输出成绩。
随机生成10个加法算式(加数为1-100之间的整数,并且和不超过100),输入每个算式的计算结果,判断计算是否正确,输出成绩。
搜索更多相关主题的帖子: 判断 输出 成绩 计算 是否 
2021-12-06 21:44
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:185
帖 子:1404
专家分:8479
注 册:2010-3-16
得分:0 
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
    int x,y,sum,count=0;
    srand(time(NULL));
    for(int i=0;i<10;i++)
    {
        x= rand()%99+1;
        y= rand()%(99-x)+1;
        printf("%d+%d=",x,y);
        scanf("%d",&sum);
        if(sum==x+y)
        {
            printf("正确\n");
            count++;
            continue;
        }
        printf("错误\n");        
    }
    printf("共答对%d道题\n",count);
    return 0;
}
    


[此贴子已经被作者于2021-12-7 08:51编辑过]

2021-12-07 08:45
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
程序代码:
#include <stdio.h>
#include <stdlib.h>

unsigned foo( unsigned a, unsigned b )
{
    return (unsigned)( (b-a+1)/(RAND_MAX+1.0) * rand() + a );
}

int main( void )
{
    // srand 自己加
    // “输入每个算式的计算结果,判断计算是否正确,输出成绩”等无意义的体力活自己做
    for( size_t i=0; i!=10; ++i )
    {
        unsigned a = foo( 1, 99 );
        unsigned b = foo( 1, 100-a );
        printf( "%2u + %2u = %u\n", a, b, a+b );
    }
}
2021-12-07 09:00
diycai
Rank: 8Rank: 8
等 级:贵宾
威 望:19
帖 子:147
专家分:895
注 册:2021-5-18
得分:0 
回复 3楼 rjsp
这个区间随机数的函数真好,比取余的方式安全很多。
2021-12-07 11:49
有幸
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2021-12-6
得分:0 
回复 2楼 apull
在我的程序里运行不出来大神  第9,10,19,27行有错误
2021-12-09 15:59



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




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

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