卡码网C++语言基础课 | 4. A+B问题IV

23 阅读2分钟

题目描述

image.png

第一次提交❌

根据现有知识点解题:

#include<iostream>
using namespace std;
int main(){
    int n;

    while (cin >> n){
        if (n==0)break;
    }
}

不会写连加的输入输出 不过和课程文件里老师写的初步代码一样也算有进步 马上开始这道题的学习

题目分析+第二次提交❌

可以事先定义一个变量sum,用于计算最后的结果,将 每次输入的数用变量a来指代,在循环中完成累加

#include<iostream>
using namespace std;
int main(){
    int n,a;
    int sum = 0;

    while (cin >> n){
        for(a,sum,n; sum=a+sum ; n==0){
            cin >> a;
            n--;

        }
        cout << sum;
    }
}

不知道哪儿错了于是用豆包跑出来了一个for循环版题解,自主优化冗余部分后为:

#include<iostream>
using namespace std;

int main(){
    int n;
    while(cin >> n) {
        if (n == 0) break; 
        int sum = 0;
        int a;
        // 内层for循环替换原while(n>0),循环n次,无需手动n--
        for (int i = 0; i < n; i++) {
            cin >> a;
            sum += a; // 等价于sum = sum + a,简化写法
        }
        cout << sum << endl;
    }
    return 0;
}

用while循环完成题解

#include<iostream>
using namespace std;
int main(){
    int n;
    while (cin >> n){
        int a;
        int sum = 0;
        if(n==0)break;
        while(n>0){
            cin >> a;
            sum = sum + a;
            n--;
        }

        cout << sum << endl;
    }
}

运算符

算术运算符

常用的算术运算符有+、-、*、/、%,含义分别是加法、减法、乘法、除法和取余(只有整数可以进行取余运算)。

int a = 1 + 2; //运算结果为3
int b = 1 - 2; //运算结果为-1
int b = 1 * 2; //运算结果为2
int b = 5 / 2; //运算结果为2,小数部分被舍弃
int b = 21 % 6; //运算结果为3,意思是计算两个整数相除所得的余数,
赋值运算符

切记一定要分清相等运算符==与赋值运算符=

如果要对某个值进行运算,再把计算的结果赋给这个值,此时可以使用复合运算符:

sum += a //等价于sum = sum + a,其余同理
sum -= a
sum *= a
sum /= a
sum %= a