请补充main函数,该函数的功能是:从键盘输入只有两个整数参与运算的一个四则运算式,然后计算出它

题目

请补充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*l0+*p-'0' b*10+*p-'0' ch 解析:第一空:变量a用来保存第一个整数,*p-‘0’得到指针p所指的数字字符的对应数字。第二空:同理,变量b用来保存第二个整数。第三空:字符ch中保存的是四则运算符,而switch语句中case后面的常量表达式都是运算符,所以为了能够匹配,switch后面括号中的表达式应该为ch。
更多“请补充main函数,该函数的功能是:从键盘输入只有两个整数参与运算的一个四则运算式,然后计算出它 ”相关问题