#include <stdio.h>           //我做的
#include <stdlib.h>
main()
{
    int a,b;
    char c;
    while(scanf("%d%c%d",&a,&c,&b)!=EOF)
    {
        if(a==0&&b==0&&c==32)  exit(0);
        else
        {
            if(c=='+')
                printf("%d\n",a+b);
            else if(c=='-')
                printf("%d\n",a-b);
            else if(c=='*')
                printf("%d\n",a*b);
            else if(c=='/')
                printf("%d\n",a/b);
            else if(c=='%')
                printf("%d\n",a%b);
            else
                printf("invalid op\n");
        }
    }
    return 0;

}

 

#include <stdio.h>
main()
{
    int a,b;
    char i;
    while (scanf("%d%c%d",&a,&i,&b)!=EOF)
    {
        if(a==0&&i==32&&b==0)
            break;
        else
            switch(i)
        {
            case '+':printf("%d\n",a+b);break;
            case '-':printf("%d\n",a-b);break;
            case '*':printf("%d\n",a*b);break;
            case '/':printf("%d\n",a/b);break;
            case '%':printf("%d\n",a%b);break;
            default :printf("invalid op\n");
        }
    }
}

 

两种方法,我做出来一个

想想为什么if句必须要有输入符号==32时候退出

因为在制表中,符号位32是空格,当时也没有想到空格;