曹敏轩


私信TA

用户名:pepsi123456

访问量:835

签 名:

等  级
排  名 4496
经  验 1684
参赛次数 5
文章发表 2
年  龄 0
在职情况 学生
学  校 怀化学院
专  业

  自我简介:

解题思路:

            主要是输入错误字符的处理。

注意事项:

            scanf函数的返回值是整型,由题可知,当K等于3时,一定是输入了问号。如果不将问号清除的话,后面从键盘输入的所有数据将无法读取。

            使用getchar()函数读取一个字符ch后,此字符将自动在缓冲区中被清除。【因为第一个输入的数据是整型数据,所以回车不用读取,回车不影响输入读取】



参考代码:

#include

main()

{

    char ch;

    int a,b,c,k,score=0;

    while(~(k=scanf("%d%c%d=%d",&a,&ch,&b,&c))){

        if(k==3) getchar();                                               //去掉缓冲区的错误字符 

        else if(ch=='+' && c==a+b)                              //合并简化代码 

        {

                score++;

        } 

        else if(c==a-b) score++;

    }

    printf("%d\n",score);

    return 0; 

 }


 

0.0分

4 人评分

  评论区

  • «
  • »