输入n个非负整数,输出他们的和。 1<=n<=100,而每个数则<800。对不符合要求的输入,输出提示信息: "error”。
时间: 2023-04-30 22:06:03 浏览: 121
题目要求输入n个非负整数,并输出它们的和。其中1<=n<=100,每个数均小于800。如果输入不符合要求,则输出"error"。
例如,输入:
3
5 0 10
则输出:
15
如果输入:
5
999 5 6 8 21
则输出:
error
相关问题
java输入n个非负整数,输出他们的和。 1<=n<=100,而每个数则<800。对不符合要求的输入,输出提示信息: "error”。
在Java中,你可以通过Scanner类获取用户输入,然后遍历数组求和。下面是一个简单的示例程序,它会接收用户输入的整数并检查它们是否满足条件:
```java
import java.util.Scanner;
public class SumOfNumbers {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数字的数量(n): ");
int n = scanner.nextInt();
// 检查输入范围
if (n < 1 || n > 100) {
System.out.println("error: 输入的数值范围错误,应为1到100");
return;
}
int[] numbers = new int[n];
long sum = 0; // 使用long防止溢出
for (int i = 0; i < n; i++) {
System.out.print("请输入第" + (i+1) + "个数: ");
int num = scanner.nextInt();
// 检查数值范围
if (num < 0 || num >= 800) {
System.out.println("error: 数值超出范围,应小于800");
i--; // 回退已读取的数字
} else {
sum += num;
}
}
scanner.close(); // 关闭扫描器
// 输出结果
if (sum != Long.MAX_VALUE) { // 防止因数值过大导致的溢出异常
System.out.println("这些数字的和是: " + sum);
} else {
System.out.println("error: 计算过程中发生溢出");
}
}
}
```
在这个程序中,我们首先获取用户输入的数值个数,然后依次读取每个数,并在每次读取后检查是否符合条件。如果所有输入都有效,我们会计算它们的总和并显示结果;如果有任何不符合要求的输入,我们会提供相应的错误信息。
输入n个非负整数,输出他们的和。 1<=n<=100,而每个数则<800。对不符合要求的输入,输出提示信息: error”。
n = int(input())
if n < 1 or n > 100:
print("error")
else:
nums = input().split()
if len(nums) != n:
print("error")
else:
total = 0
for num in nums:
if not num.isdigit() or int(num) >= 800:
print("error")
break
total += int(num)
else:
print(total)