| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2410 人关注过本帖
标题:我不是来要答案的,我只是想知道思路。
只看楼主 加入收藏
XHZH
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2018-12-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
我不是来要答案的,我只是想知道思路。
例如,要写一个加减乘除练习的程序,系统给出提示,选择加减乘除里的哪一种?四选一就可以了。但我想再增加一个选项,四种运算随机出现,但是我不知道怎么写,无从下手。这个问题我已经问过一次,可能题目看起来像是直接要答案,所以没有人回答我。
搜索更多相关主题的帖子: 答案 思路 加减乘除 运算 随机 
2018-12-27 14:01
哈哈笑吧
Rank: 2
等 级:论坛游民
威 望:1
帖 子:12
专家分:99
注 册:2017-11-24
收藏
得分:10 
可以试着做一个随机数a,如果a>=0&&a<25执行加法函数,如果a>=25&&a<50执行减法函数,如果a>=50&&a<75执行乘法函数,如果a>=75&&a<100则执行除法运算
2018-12-27 14:41
幻紫灵心
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山咔咔里面
等 级:贵宾
威 望:53
帖 子:395
专家分:2640
注 册:2018-3-30
收藏
得分:10 
读入一个变量x,如果x=4,则修改x=随机0-3;
0,1,2,3,表示对应四则运算.

saber,别哭.
2018-12-27 14:59
XHZH
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2018-12-27
收藏
得分:0 
回复 3楼 幻紫灵心
void random()
{
int x, y, z,result;
char op, ops[] = { '+', '-', '*', '/' };
srand(time(NULL) ); //用当前时间初始化随机数种子
while(1)
{
x=rand()%100;
y=rand()%100;
op = ops[ rand()%4]; //随机决定是哪个运算符
 switch(op)
    {   case 0:add();break;
        case 1:sub();break;
        case 2:mul();break;
        case 3:division();
    }
printf( "%d%c%d=", x, op, y);
scanf( "%d", &result );
if( result==z)
printf( " OK!\n" );
else
printf( " Sorry\n%d%c%d=%d\n",x,op,y,z);
}我用了这个函数用来随机加减,但是为什么提示error: ambiguating new declaration of 'void random()'
2018-12-27 16:30
了无此生
Rank: 3Rank: 3
来 自:粤地潮州
等 级:论坛游侠
威 望:3
帖 子:82
专家分:121
注 册:2018-11-14
收藏
得分:0 
你写的代码我真的一点都看不懂,以下是修改后的,还有,为什么要循环
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
    int x, y, z,result;
    char op, ops[] = { '+', '-', '*', '/' };
    srand((unsigned)time(NULL) );
    x=rand()%100;
    y=rand()%100;
    op = ops[rand()%4];
    switch(op) {
        case '+': z = x + y; break;
           case '-': z = x - y; break;
           case '*': z = x * y; break;
           case '/': z = x * y; break;
       }

    printf( "%d%c%d=", x, op, y);
    scanf( "%d", &result );
    if( result==z)
        printf( " OK!\n" );
    else
        printf( " Sorry\n%d%c%d=%d\n",x,op,y,z);
    return 0;
}

睡不醒的学渣(^・ω・^ )
2018-12-27 19:03
了无此生
Rank: 3Rank: 3
来 自:粤地潮州
等 级:论坛游侠
威 望:3
帖 子:82
专家分:121
注 册:2018-11-14
收藏
得分:0 
你写的代码我真的一点都看不懂,以下是修改后的,还有,为什么要循环
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
    int x, y, z,result;
    char op, ops[] = { '+', '-', '*', '/' };
    srand((unsigned)time(NULL) );
    x=rand()%100;
    y=rand()%100;
    op = ops[rand()%4];
    switch(op) {
        case '+': z = x + y; break;
           case '-': z = x - y; break;
           case '*': z = x * y; break;
           case '/': z = x * y; break;
       }

    printf( "%d%c%d=", x, op, y);
    scanf( "%d", &result );
    if( result==z)
        printf( " OK!\n" );
    else
        printf( " Sorry\n%d%c%d=%d\n",x,op,y,z);
    return 0;
}

睡不醒的学渣(^・ω・^ )
2018-12-27 19:03
XHZH
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2018-12-27
收藏
得分:0 
回复 5楼 了无此生
感谢大佬,我写的一团糟,现在根本就是一团麻了
2018-12-27 19:29
XHZH
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2018-12-27
收藏
得分:0 
回复 5楼 了无此生
感谢大佬,我写的一团糟,现在根本就是一团麻了
2018-12-27 19:29
快速回复:我不是来要答案的,我只是想知道思路。
数据加载中...
 
   



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

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