0066-若干个数求和问题

若干个数求和问题
难度级别:A; 运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B

试题描述

输入若干个整数(不会超过 10000 个),输出它们的和。


输入

一行包括若干个整数(绝对值不超过100),两两之间用一个空格分隔。

输出

一个数,表示输入所有数的和(结果在 int 范围内)。

输入示例

3 2 4 1 5 6

输出示例

21

  这题乍一看没毛病,但……不给项数怎么行?!当然行。只是你需要这样一句话:

cin.get()==‘\n‘

  意思是:读入遇到换行。

  这样一来,问题全部解决。同时还不用开数组。接下来实践一下。

  代码:

#include<bits/stdc++.h>
using namespace std;
int i,n,ans;
int main()
{
	while(cin>>n)//持续输入。
	{
		ans+=n;//累加当前数。
		if(cin.get()==‘\n‘) break;//当遇到换行时结束。
	}
	printf("%d",ans);
	return 0;
}

原文地址:https://www.cnblogs.com/DARTH-VADER-EMPIRE/p/9736803.html

时间: 2024-08-27 14:19:03

0066-若干个数求和问题的相关文章

如何从一堆数中选出若干个数,使其和等于给定的数?

如题,比如有一堆数:13,2,4,2,4,8,7,8,6 要从中挑选出若干个数,使得它们的和等于32,挑选出来的数是:20,6,4,2 我是使用“试探”法来解这个题目,思路如下: 先对数进行排序:13,8,8,7,6,4,4,2,2 选出最大的数字,以及不大于目标数字后续数字,于是我挑选到了13,8,8,其和是29,如果这个时候再挑选7的话就会超过32,所以就跳过,尝试在后面找到合适的数字,找到4,加上仍然大于32,再接着找到2,这次好了,加起来是31. 再次向后面寻找小的数字的时候,发现没有合

获取最大值:输入 若干个数,打印最大值,输入为空,退出程序(空的方式,以及int的应用)

1 ''' 2 获取最大值:输入 若干个数,打印最大值,输入为空,退出程序 3 ''' 4 # 第一版 5 6 # 为空,这里用 '' "" '''''' 中间什么都不加 7 # 先输入第一个值,作为目前最大的值 8 # 因为输入若干个数,不知道循环次数,所以用 while循环 9 if __name__ == '__main__': 10 num1 = input('>>') 11 if num1 != '': # '' "" '''''' 都是空 1

N个数求和(PTA)

7-1 N个数求和 (20 分) 本题的要求很简单,就是求N个数字的和.麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式. 输入格式: 输入第一行给出一个正整数N(≤100).随后一行按格式a1/b1 a2/b2 ...给出N个有理数.题目保证所有分子和分母都在长整型范围内.另外,负数的符号一定出现在分子前面. 输出格式: 输出上述数字和的最简形式 —— 即将结果写成整数部分 分数部分,其中分数部分写成分子/分母,要求分子小于分母,且它们没有公因子.如果结果的整

从1-n个数取若干个数,使和为m,问多少种情况

其实运用了背包问题的思想,假设对这个问题建立了函数:f(m,n) 从n个数中取:有两种情况 n不在这若干个数中,f(m,n-1) n在这若干个数中,f(m-n,n-1) 所以 f(m,n)=f(m,n-1)+f(m-n,n-1) 根据上式,应用递归的思想,编程如下: public class Test1 {public static void main(String[] args) throws Exception {    Test1 test=new Test1();   System.ou

Java:多个数求和

设计思想: 先定义int n,定义输入数的个数,输入一个新建的动态数组,输入数字存入动态数组中,函数转换并求和,最后输出. 程序流程图: 源程序代码: package com; import java.util.Scanner; public class Addadd { public static void main(String[] args){ Scanner scan = new Scanner(System.in);//创建Scanner的类对象 int n; System.out.p

ARM中C和汇编的相互调用(5个数求和、字符串拷贝)

开发环境:Keil5 工程目录:   一.汇编调用C——多数相加 使用汇编调用C,需要注意的是参数的传递.不同于X86的传参规则,在ARM体系中,如果形参的个数不超过4个,使用特殊寄存去R0~R3传递:而如果参数大于4个,就要将多出来的那部分参数使用堆栈传递. 压栈的之后移动位置指针,压栈顺序别忘了是最后一个参数先入栈->倒数第二个参数->,,,, 下面的代码实现了五个参数求和,首先使R0=0,R1=1,R2=2,R3=3,第五个参数使用栈传递,并移动堆栈指针. (1)startup.s St

L1-009. N个数求和

第一部分:题目 本题的要求很简单,就是求N个数字的和.麻烦的是,这些数字是以有理数“分子/分母”的形式给出的,你输出的和也必须是有理数的形式. 输入格式: 输入第一行给出一个正整数N(<=100).随后一行按格式“a1/b1 a2/b2 ...”给出N个有理数.题目保证所有分子和分母都在长整型范围内.另外,负数的符号一定出现在分子前面. 输出格式: 输出上述数字和的最简形式 —— 即将结果写成“整数部分 分数部分”,其中分数部分写成“分子/分母”,要求分子小于分母,且它们没有公因子.如果结果的整

JS如何从数组中随机取出若干个数,且不重复

//原数组 var arr = [0,1,2,3,4,5,6,7,8,9,10,11]; //输出数组 var out = []; //输出个数 var num = 5; while(out.length < num){     var temp = (Math.random()*arr.length) >> 0;     out.push(arr.splice(temp,1)); } alert(out);

zzuli OJ 1081: n个数求和 (多实例测试)

Description 求n个整数的和. Input 输入第一行是一个整数T,表示有T组测试实例: 每组输入包括两行: 第一行一个数n表示接下来会有n个整数: 第二行空格隔开的n个数. Output 对于每组输入,在一行输出n个数的和(保证和不会超出int类型的范围)! Sample Input 231 2 34-1 0 -19 22 Sample Output 62 HINT Source #include<stdio.h> int main() { int t,a[14],b,c,j,i,