注册 登录
编程论坛 C语言论坛

随机生成10个加法算式(加数为1-100之间的整数,并且和不超过100),输入每个算式的计算结果,判断计算是否正确,输出成绩。

有幸 发布于 2021-12-06 21:44, 1259 次点击
随机生成10个加法算式(加数为1-100之间的整数,并且和不超过100),输入每个算式的计算结果,判断计算是否正确,输出成绩。
4 回复
#2
apull2021-12-07 08:45
程序代码:

#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编辑过]

#3
rjsp2021-12-07 09:00
程序代码:
#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 );
    }
}
#4
diycai2021-12-07 11:49
回复 3楼 rjsp
这个区间随机数的函数真好,比取余的方式安全很多。
#5
有幸2021-12-09 15:59
回复 2楼 apull
在我的程序里运行不出来大神  第9,10,19,27行有错误
1