| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1620 人关注过本帖
标题:四则运算的编程 苦恼中~~
只看楼主 加入收藏
刘浩哥
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-3-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:11 
四则运算的编程 苦恼中~~
制作一个可供小学数学四则运算程序,能根据输入题数出题,判断做题是否正确,最后计算分数。
我还不知道从哪下手,各位高手们,指点一下吧。
我的C还不到半年,所以来求助了!
搜索更多相关主题的帖子: 小学数学 
2011-03-08 10:21
刘浩哥
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-3-7
收藏
得分:0 
没人理我   我先给自己一个回复吧。
各位大哥大姐,我只要一个最简单的就行,哪管先给我点思路,我才学了C  都是些简单的东西,不需要全面的,能运行就可以,我理解  讲给老师就OK!

qq  136913540
2011-03-08 10:35
Amy_huyier
Rank: 4
等 级:业余侠客
帖 子:46
专家分:265
注 册:2011-1-24
收藏
得分:0 
定义两个变量。一个表示运算符,一个表示操作数。
用随机函数产生即可。


其它就不说了
2011-03-08 11:58
Amy_huyier
Rank: 4
等 级:业余侠客
帖 子:46
专家分:265
注 册:2011-1-24
收藏
得分:20 
还是给你发一个参考吧
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

//函数声明
int GetOperator();    //随机返回运算符 0表示+,1表示-,2表示×,3表示/
int GetNumber();      //随机返回一个10以内的数
void Display(int num1,int num2,int oper);    //根据参数输出算式,其中num1,num2表示运算数,oper表示运算符
double GetAnswer(int num1,int num2,int oper);  //根据参数返回运算结果,其中num1,num2表示运算数,oper表示运算符
void main()
{
    srand((unsigned)time(NULL));
    int num1,num2;        //表示运算的两个数
    num1=GetNumber();
    num2=GetNumber();
    int oper;           //表示运算符
    oper=GetOperator();
    Display(num1,num2,oper);
    double ans=GetAnswer(num1,num2,oper);  //获取答案
    double tmp;
    scanf("%lf",&tmp);   //用户输出答案
    if(tmp==ans)
        printf("答案正确\n");
    else
        printf("答案错误\n");
}

//随机返回运算符 0表示+,1表示-,2表示×,3表示/
int GetOperator()
{
    return rand()%4;
}

//随机返回一个10以内的数
int GetNumber()
{
    return rand()%11;
}

//根据参数输出算式,其中num1,num2表示运算数,oper表示运算符
void Display(int num1,int num2,int oper)
{
    char ch;        //表示运算符的字符
    switch(oper)
    {
    case 0:
        ch='+';break;
    case 1:
        ch='-';break;
    case 2:
        ch='*';break;
    case 3:
        ch='/';break;
    }
    printf("%d%c%d=",num1,ch,num2);
}

//根据参数返回运算结果,其中num1,num2表示运算数,oper表示运算符
double GetAnswer(int num1,int num2,int oper)
{
    double ans;
    switch(oper)
    {
    case 0:
        ans=num1+num2;break;
    case 1:
        ans=num1-num2;break;
    case 2:
        ans=num1*num2;break;
    case 3:
        ans=(double)num1/num2;break;
    }
    return ans;
}

2011-03-08 12:00
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
楼上的,楼主正等着你的程序好交作业,
学了半年的C,连这个都不会,偶真不知道你是怎么学的。

我们都在路上。。。。。
2011-03-08 13:20
刘浩哥
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-3-7
收藏
得分:0 
呵呵 ,说来惭愧啊~~

qq  136913540
2011-03-08 14:34
刘浩哥
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-3-7
收藏
得分:0 
恩,程序我用了,一切OK,谢谢你的回答,不知道这里有群没有,我想加一个关于这方面的群!

qq  136913540
2011-03-08 14:37
phoebe0728
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-3-8
收藏
得分:0 
我学了2年  还没思路。。。这就是简单的计算器了 谢谢楼主了  哈哈哈
2011-03-08 20:10
phoebe0728
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-3-8
收藏
得分:0 
那么像  3×4+2/4-9  这种怎么实现呢??加上括号呢
2011-03-08 20:20
phoebe0728
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-3-8
收藏
得分:0 
不过LZ还是用栈吧。。。还有case语句表示符号时是不是不要用数字,可以用字母。。。
2011-03-08 20:32
快速回复:四则运算的编程 苦恼中~~
数据加载中...
 
   



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

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