C一个运算程序的问题
刚编了个程序如下:
#include <stdio.h>
int main( void )
{
float a, b, c;
char ch;
printf( "Please input a: ");
scanf( "%f ", &a);
printf( "\nPlease input b: ");
scanf( "%f ", &b);
printf( "\nPlease input ch: ");
ch = getch();
switch( ch )
{
case '+ ':
c = a + b;
break;
case '- ' :
c = a - b;
break;
case '* ':
c = a * b;
break;
case '/ ':
c = a / b;
break;
default :
ch = 'e ';
}
if(ch != 'e ')
printf( "\n%f %c %f = %f\n ", a, ch, b, c);
else
printf( "\nInput Error\n ");
}
为啥打印的时候没显示那个运算符号?请指教一下,顺便问一下如何利用循环把得到的结果再与b相运算?
[解决办法]
#include <stdio.h>
int main(void)
{
float a, b, c=0;
char ch;
printf( "Please input a: ");
scanf( "%f ", &a);
getchar();/////////////吸收掉缓冲区里的回车
printf( "\nPlease input b: ");
scanf( "%f ", &b);
getchar();////////////同上
printf( "\nPlease input ch: ");
ch=getchar();
switch (ch)
{
case '+ ':
c = a + b;
break;
case '- ':
c = a - b;
break;
case '* ':
c = a * b;
break;
case '/ ':
c = a / b;
break;
default:
ch = 'e ';
}
if (ch != 'e ')
printf( "\n%f %c %f = %f\n ", a, ch, b, c);
else
printf( "\nInput Error\n ");
return 0;
}