如何输入多组数据并输出每组数据的和?

如何输入多组数据?

下面我分三种语言讲解这个问题

1. C语言
先讲解一下scanf的返回值,假设说scanf读入一个数字或者字符并成功。例如:scanf("%d, &x),那么返回值为1。类似的,两个字符成功后返回值为2,以此类推。假如读入不成功,则返回值为EOF。

开始我曾想利用字符串或者其他形式一行一行读入,全读完之后再输出,后来发现无法办到。于是我改变思路,试图读一个数操作一次。那么怎么知道一行读完了并且输出每行的和数呢?先卖个关子。

显而易见,如何读入多组数据输出每组的和,代码如下

#include<stdio.h>
int 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同时整型化。

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值