qq_37146456 2017-01-05 11:40 采纳率: 0%
浏览 1099

想回答问题的大神们请看清楚问题和我的要求!,题目如下,代码如下,又总算修改不对总算比题意多一点输入

问题 Q: 四则运算
题目描述
编写一个程序,为您提供加法、减法、乘法或除法的选项。获得您的选择后,该程序请求两个数,然后执行您选择的操作。该程序应该只接受它所提供的菜单选项。

a表示加法,s表示减法,m表示乘法,d表示除法,q表示结束这个时候应该输出Bye.

输入
一个字符(a,s,m,d,q),随后两行两个数,

输入为q时结束输入。

输出
输出操作算式并求出结果(注意空格,保留两位小数)。

如果为q输出Bye!

样例输入
a
3
4
q
样例输出
3.00 + 4.00 = 7.00
Bye!

代码:
#include
int main()
{
char o,s,m,d,q;
float m1,n,sum;
while(scanf("%c\n%f\n%f",&o,&m1,&n)!=EOF)

{

    switch(o)

    {
    case'a':
        printf("%.2f+%.2f=%.2f\n",m1,n,m1+n);
        break;

    case's':

        printf("%.2f-%.2f=%.2f\n",m1,n,m1-n);
        break;

    case'm':

        printf("%.2f*%.2f=%.2f\n",m1,n,m1*n);
        break;
    case'd':

        printf("%.2f/%.2f=%.2f\n",m1,n,m1/n);
        break;

    case'q':
        printf("Bye!");
        break;
    }



}

}

我每次需要输入两次q才会出现Bye,而且结束不了,
请用c语言在原代码上修改,请看题看题,每次认真看题的人简直少得可怜

  • 写回答

4条回答

  • 企鹅爱吃方便面 2017-01-05 11:59
    关注

    不用输两次q,输一次q,任意两个数字应该也能出现bye。
    原因应该在while里面。

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据