1 条题解
-
0
C
说明
本题要求计算第四块石头的重量,核心思路基于“总重量固定”的逻辑:已知4块石头总重需为20斤,因此第四块石头的重量 = 20斤 - 前3块石头的重量之和。整个过程仅涉及一次加法(计算前3块总和)和一次减法(求差值),无循环或复杂逻辑,时间复杂度为O(1)(常数级),适合入门练习基本算术运算和输入输出。
代码
#include <stdio.h> int main() { int a, b, c; // 读取前3块石头的重量(用空格分隔) scanf("%d %d %d", &a, &b, &c); // 计算第四块重量:总重20减去前3块总和 int fourth = 20 - (a + b + c); // 输出第四块重量 printf("%d\n", fourth); return 0; }C语言拓展知识
推荐搜索:C语言整数算术运算规则(加法/减法的溢出判断)、scanf多变量输入时的格式匹配(如输入多空格/回车是否影响读取)、表达式括号的作用(为何
20 - (a + b + c)无需括号也可,但括号能提升可读性)。C++
说明
本题逻辑与C语言完全一致(通过“总重-前3块和”求第四块重量),但C++可通过输入输出流直接简化代码:无需定义中间变量存储“前3块总和”,可直接在输出时计算表达式结果,同时避免C语言
scanf的格式控制符,代码更直观。万能头文件
#include<bits/stdc++.h> 是C++非标准头文件(竞赛常用),包含所有标准库,无需手动逐个包含,适合快速编码。
新知识
-
表达式直接输出:
- 术语:
cout << 20 - a - b - c - 解释:C++的
cout支持直接输出算术表达式的计算结果,无需像C语言那样先定义变量存储结果(如int fourth = 20 - (a+b+c)),可直接在输出语句中写表达式,减少代码行数。 - 对比:C语言需先计算并存储结果,再用
printf输出;C++可“计算+输出”一步完成,更简洁。
- 术语:
-
链式输入:
- 术语:
cin >> a >> b >> c - 解释:
cin通过>>运算符可连续读取多个变量,自动忽略输入中的空格、回车等分隔符,无需像C语言scanf那样显式写格式控制符(如%d),降低输入格式错误的概率。
- 术语:
AC
#include <bits/stdc++.h> using namespace std; int main() { int a, b, c; // 链式读取前3块石头的重量,自动处理分隔符 cin >> a >> b >> c; // 直接输出表达式结果:20减去前3块重量之和 cout << 20 - a - b - c << endl; return 0; }C++拓展知识
推荐搜索:C++算术表达式的运算优先级(为何
20 - a - b - c无需括号,与20 - (a + b + c)结果一致)、cin读取数据时的错误处理(如输入非整数会怎样)、cout输出表达式时的类型自动转换(如整数结果是否会被误判为其他类型)。 -
- 1
信息
- ID
- 136
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 3
- 标签
- 递交数
- 43
- 已通过
- 23
- 上传者