加减乘除(多实例)

 这道题可以通过多实例和switch结合实现,代码如下:

#include

int main(void)
{
    int a,b;
    char c;//表示符号
    while(scanf("%d %c",&a,&c)!=EOF)
        if(c!='!')
		{
            scanf("%d",&b);
            switch(c)//依次判断加减乘除进行处理
			{
                case '+':printf("%d\n",a+b);
                    break;
                case '-':printf("%d\n",a-b);
                    break;
                case '*':printf("%d\n",a*b);
                    break;
                case '/':if(b!=0)
                             printf("%d\n",a/b);
                         else
                             printf("error\n");//除数为0时
                    break;
                case '%':if(b!=0)
                             printf("%d\n",a%b);
                         else
                             printf("error\n");//求余运算的第二个运算数为0时
                    break;
            }
        }
        else//算阶乘
{
            int s=1;//注意数据的初始化
            for(int i=2;i<=a;i++)
                s=s*i;
            printf("%d\n",s);
        }
        return 0;
}

注意多实例数据的初始化和结果换行。

你可能感兴趣的:(c++,算法,数据结构)