问题及代码:
/*
*copyright (c) 2014,烟台大学计算机学院
*all rights reserved.
*文 件 名 : 程序填充题.cpp
*作 者 :张 鹏
*完成日期 :2014年10月29号
*版 本 号 :v1.0
*
*问题描述 :阅读下面的程序,在____上填上合适的成份,使程序能够输入“1+2”形式的式子,并输出相应的结果。
*输入描述 :两个整数,代表整数a,b。一个字符,代表运算符号。
*程序输出 :一个等式,为输入式子的值。
*/
#include <iostream> //预处理指令。
using namespace std; //使用C++的命名空间 std。
int main() //函数首部。
{
int a = 100; //声明一个变量a为整型并赋值为100。
int b = 20; //声明一个变量b为整型并赋值为20。
int c; //声明一个变量c为整型。
char oper; //定义一个字符变量oper。
cin>>a>>oper>>b; //输入变量a,b和字符变量oper的值。
switch(oper) //所需填空的地方:switch(____)。
{
case '+':
c = a + b;
break; //当字符为+时,做的是加法运算。
case '-':
c = a - b;
break; //当字符为-时,做的是减法运算。
case '*':
c = a * b;
break; //当字符为*时,做的是乘法运算。
default :
if( b==0)
c = a; //当b为0时,直接把c赋值为a。
else
c = a / b;
break; //当字符为/时,且b不为零时做的是除法运算。
}
cout<<"c="<<c<<endl; //输出等式。
return 0; //执行返回语句,结束程序。
}
运行结果:
知识点总结:
利用字符变量,switch和if。
学习心得:
老师给的代码里,a,b,c都是定义为int。导致作为计算器时使用除法的时候,虽然a,b都是整型但运算结果却不一定正常。