飞羽


私信TA

用户名:cjun1998

访问量:15068

签 名:

coding

等  级
排  名 449
经  验 4802
参赛次数 6
文章发表 17
年  龄 0
在职情况 在职
学  校
专  业

  自我简介:

十八般武艺,样样不会

解题思路:

        循环输入数据,每一次输入就进行判断,不断求和即可。


        由于scanf是有返回值的,且返回值为int型,特别的此处用法导致只有scanf返回-1,循环才会结束,也就是要返回EOF,而-1 补码的取反后全为0,while终止循环。

while (~scanf("%d%d",&n,&m))等效于 while (scanf("%d%d",&n,&m)!=EOF)

注意事项:

不是以\n结束!

不是以\n结束!

不是以\n结束!

参考代码:

#include"stdio.h"
void main()

     int sum=0,n;
    while(~scanf("%d",&n))//以EOF结尾,不是以\n结尾
    {                                    //以下分别对应条件做求和即可
     if(n<151)sum+=30;
     else if(n<261)sum+=100;
     else sum+=500;
    }
     printf("%d\n",sum);
}

 

0.0分

0 人评分

  评论区

  • «
  • »