请补充main函数,该函数的功能是:从键盘输入只有两个整数参与运算的一个四则运算式,然后计算出它的值。注意数字全部为正整数。 例如,输入308*28,结果为8624.000000。 注意:部分源程序给出如下。 请勿改动主函数main和其他

admin2013-06-12  26

问题 请补充main函数,该函数的功能是:从键盘输入只有两个整数参与运算的一个四则运算式,然后计算出它的值。注意数字全部为正整数。
   例如,输入308*28,结果为8624.000000。
   注意:部分源程序给出如下。
   请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。
   试题程序:
    # include<stdio, h>
   main ( )
   {
        int a=0, b=0, flag=l, fg=l;
        float result;
        char *p, ch;
        char str[10];
        clrscr ();
        printf("\n Input a string \n");
        gets (str);
        p=str;
        while (*p)
       {
              if (*p>=’0’ &&*p<=’9’ && flag==l )
                     a=【  】;
              else
                     if (fg)
                 {
                             ch=*p;
                             flag=2;
                             fg=0;
                 }
              if (*p>=’0 ’ &&*p<=’9’ &&flag==2)
                     b=【  】;
              p++;
      }
      switch(【  】)
      {
              case ’+’: result=a+b;break;
              case ’-’: result=a-b;break;
              case ’*’ :result=a*b;break;
              case ’/’ :result= (float) a/b;break;
        printf ("\nresult=%f", result);
  }

选项

答案a*l0+*p-’0’ b*10+*p-’0’ ch

解析 第一空:变量a用来保存第一个整数,*p-‘0’  得到指针p所指的数字字符的对应数字。第二空:同理,变量b用来保存第二个整数。第三空:字符ch中保存的是四则运算符,而switch语句中case后面的常量表达式都是运算符,所以为了能够匹配,switch后面括号中的表达式应该为ch。
转载请注明原文地址:https://kaotiyun.com/show/ArJp777K
0

相关试题推荐
最新回复(0)