读书人

C一个运算程序的有关问题

发布时间: 2012-03-07 09:13:51 作者: rapoo

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;
}

读书人网 >C语言

热点推荐