本文共 859 字,大约阅读时间需要 2 分钟。
下面我分三种语言讲解这个问题
1. C语言
先讲解一下scanf的返回值,假设说scanf读入一个数字或者字符并成功。例如:scanf("%d, &x)
,那么返回值为1。类似的,两个字符成功后返回值为2,以此类推。假如读入不成功,则返回值为EOF。 开始我曾想利用字符串或者其他形式一行一行读入,全读完之后再输出,后来发现无法办到。于是我改变思路,试图读一个数操作一次。那么怎么知道一行读完了并且输出每行的和数呢?先卖个关子。
显而易见,如何读入多组数据输出每组的和,代码如下
#includeint main(void){ int x, total = 0; while(scanf("%d", &x) != EOF) { sum += x; if(getchar() == '\n') { printf("%d\n", total); total = 0; } } return 0;}
2. C++
再讲一些预备知识,cin不是一个操作符,而是一个对象,这也是我最近才知道的。所以while(cin << x)
的返回值是cin的值,即也是x的值。这个操作既实现了给x赋值,又实现了判断是否到了输入末尾,相较于C语言省略了EOF,简洁。 代码没有大的变动,故不附。 3. Python
我在用python写时也遇到了一个问题,这一个地方来来回回改了五回。python语言一般在input()后需要立即输入一个数,所以在实现同时输入两个数的时候需要有一个小技巧。需要将两个数作为一个字符串读入,并用函数分割,再转化为整型,代码如下:while True: try: x,y=map(int,input().split()) print(x + y) except: break
其中,map第二个参数是被执行的元素,第一个参数是执行的函数,在这个代码中就是讲x和y同时整型化。
转载地址:http://vcugf.baihongyu.com/