题目描述与分析
题目描述:
你的任务是计算若干整数的和。
输入描述:
每行的第一个数N,表示本行后面有N个数。
如果N=0时,表示输入结束,且这一行不要计算。
输出描述:
对于每一行数据需要在相应的行输出和。
输入示例:
4 1 2 3 4
5 1 2 3 4 5
0
输出示例:
10
15
在本题中,你需要计算若干个整数的和,每行第一个数n表示后面有n个数,后面的几个数是输入的整数,如果n为0时,结束输入。
根据之前学习的内容,我们可以写出初步的代码:
#include<iostream>
using namespace std;
int main() {
// 定义一个变量n用于接收输入的个数
int n;
// 持续输入n
while(cin >> n) {
// 当n等于0的时候,结束循环
if (n == 0) break;
// 对输入的数字进行累加
}
}
对输入数字进行累加,我们可以事先定义一个变量sum, 用于计算最后的结果,每输入一个数(用变量a来指代),就把输入的数值累加到sum当中,即sum = sum + a, 只需要把这个过程执行n次即可,代码如下:
#include<iostream>
using namespace std;
int main() {
int n;
while(cin >> n) {
if (n == 0) break;
// 定义一个变量sum, 用于每次累加
int sum = 0;
// 定义一个变量a, 用于接收每次输入的数值
int a;
// 操作执行n次
while(n--) {
// 输入一个数字a
cin >> a;
// 将输入的数字a累加到sum上,并赋值给sum
sum = sum + a;
}
// 输入完n个数字之后,输出sum
cout << sum << endl;
}
}
上述代码已经满足题目要求,但是还可以进行改进
一、算术运算符
在 C++ 中,算术运算符用于执行基本的数学计算,包括加、减、乘、除以及取模等操作。这些运算符可以应用于内建的数值类型,如整数和浮点数。
常用的算术运算符
1.加法 (+):计算两个操作数的和。
2.减法 (-):从第一个操作数中减去第二个操作数。
3.乘法 (*):计算两个操作数的乘积。
4.除法 (/):
如果两个操作数都是整数,执行整数除法,结果也是整数(小数部分被舍去)。
如果至少一个操作数是浮点数,执行浮点除法,结果是浮点数。
5.取模(余数) (%):返回两个整数相除的余数。注意,操作数必须是整数。
6.递增 (++):将操作数增加 1。可以是前缀(++x)或后缀(x++)形式,前缀先增加再返回值,后缀先返回值再增加。
7.递减 (–):将操作数减少 1。递增运算符的用法同样适用于递减运算符
下面是一些使用这些算术运算符的示例:
#include <iostream>
using namespace std;
int main() {
int a = 10;
int b = 3;
cout << "a + b = " << (a + b) << endl; // 输出:a + b = 13
cout << "a - b = " << (a - b) << endl; // 输出:a - b = 7
cout << "a * b = " << (a * b) << endl; // 输出:a * b = 30
cout << "a / b = " << (a / b) << endl; // 输出:a / b = 3
cout << "a % b = " << (a % b) << endl; // 输出:a % b = 1
a++; // a 现在是 11
cout << "a++ = " << a << endl;
--b; // b 现在是 2
cout << "--b = " << b << endl;
return 0;
}
二、赋值运算符
在 C++ 中,赋值运算符用于将值从右侧表达式分配给左侧的变量。最基本的赋值运算符是等号(=),它确保右侧表达式的值被存储在左侧变量中。此外,C++ 还提供了一系列复合赋值运算符,这些运算符将算术或位运算与赋值操作结合在一起,简化代码书写
等号 (=):将右侧操作数的值赋给左侧操作数。除了=这种赋值运算符之外,我们经常会对某个值进行运算后,再把计算的结果赋给这个值,比如sum = sum + a, 将sum的值和a进行运算后,再赋值给sum, 此时我们可以使用复合赋值运算符+=
int sum = 0;
for(int i = 1; i <= 10; i++) {
sum += i; // 和sum = sum + i是等价的
}
我们通常都使用sum += i的形式来书写代码,而且这种形式也常常用于其他算数运算符,比如-=、*=、/=、%=
sum -= i; // 等价于 sum = sum - i;
sum *= i; // 等价于 sum = sum * i;
sum /= i; // 等价于 sum = sum / i;
sum %= i; // 等价于 sum = sum % i;
此外我们声明的变量a单独占了一行,我们可以使用下面的方式进行简写:
int a;
int b;
// 简化操作
int a, b;
最终代码如下:
#include<iostream>
using namespace std;
int main(){
int n, a;
while (cin >> n) {
if (n == 0) break; // 退出循环
int sum = 0;
while (n--) {
cin >> a;
sum += a; // 累加操作
}
cout << sum << endl;
}
}