欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

pta 7-5(简单计算器)(10分)

程序员文章站 2024-03-05 18:14:31
...

这里的代码都是博主在pta测试过的,一定能过,建议没有敲出来的小伙伴看完代码之后,可以看一下解析。

博主用到的编译器是dev,与vs稍有不同,使用vs的小伙伴可以小改动一下。

pta 7-5(简单计算器)(10分)pta 7-5(简单计算器)(10分)
ok,先代码,后讲解。

#include<stdio.h>
int main()
{
    int a,b;
    char c;
    scanf("%d",&a);
    while(scanf("%c",&c))
    {
        switch(c)
        {
            case '+':scanf("%d",&b);a+=b;break;
            case '-':scanf("%d",&b);a-=b;break;
            case '*':scanf("%d",&b);a*=b;break;
            case('/'):scanf("%d",&b);
            if(b==0)
                printf("ERROR");return 0;
            else
        	{a/=b;break;}
        	case('='):printf("%d",a);return 0;
        	default:printf("ERROR");return 0;
        }
    }
} 
  1. 考虑到开头的第一个一定是数字且无其他特殊情况,因此第一个数字提前输入,不再参与整个过程。
  2. 这里从第二个位置开始我们便要开始输入符号了,因此我们引入字符c,同时这里的思想引用scanf的返回值scanf的返回值是输入的数量因此我们一旦停止输入,while便没有循环条件,也就是停止执行,这里可以用很多的其他方法代替
  3. 在考虑到其他的情况,到‘=’号时停止,输入错误时,停止,当分母为0时停止,这样一个简单小程序便完成了。
    注意
    小伙伴们不能使用强制转化的思想,不能将输入的字符转化为整形进行输出,因为转化过来的变量已经不是原先的变量了。
    如下:
    pta 7-5(简单计算器)(10分)
    pta 7-5(简单计算器)(10分)
    我们都知道网上这种平台很“粪”因此,一旦小伙伴们有一点的输出错误哪怕是多了一个空格,都不行 ???? 因此小伙伴们在写pta时,一定一定一定要注意输出格式!!!!

over