✨:信息学一本通入门篇题目解析💭
💟:幸愉编程 
💜: 学习如逆水行舟,不进则退 💜💜
🌸: 如有错误或不足之处,希望可以指正,非常感谢😉

T1000 A+B

题目描述

求两个整数的和。

输入

一行,两个用空格隔开的整数。

输出

两个整数的和。

输入样例

2 3

输出样例

5

涉及知识点

cin: 输入语句,用于输入两个整数 a 和 b。
cout: 输出语句,用于输出显示计算结果。

解题思路

定义两个变量 a 和 b,使用 cin 语句输入两个变量,使用 cout 语句将两个整数的和正常输出。

易错点

若输入的 a 和 b 都是 int 类型中的最大值,那么 a + b 计算过后会超过 int 表示的最大范围,int 数据类型的范围是 [-2147483648, 2147483647],这个时候需要使用更大的数据类型来表示,即采用 long long,这种易错点在电子学会考级一级里面考察过,平时练习需要注意!

Cpp代码

#include <bits/stdc++.h>
using namespace std;
int main()
{
int a, b;
cin>>a>>b;
cout<<a+b;
return 0;
}

Python 3 代码

a , b = map(int, input().split(' '))
print(a+b)

T1001 Hello,World!

题目描述

输出一个 Hello,World!

输入

( 无 )

输出

Hello,World!

涉及知识点

C++ 基础程序框架 👇

#include <bits/stdc++.h>
using namespace std;
int main()
{
return 0;
}

cout 语句输出一串字符,即 cout<<”输出的内容”; 双引号会将字符串的内容原样输出。

Cpp 代码

#include <bits/stdc++.h>
using namespace std;
int main()
{
cout<<"Hello,World!";
return 0;
}

Python 3 代码

print("Hello,World!")

T1002 输出第二个整数

题目描述

输入三个整数,整数之间由一个空格分隔,整数是 32 位有符号整数。把第二个输入的整数输出。

输入

只有一行,共三个整数,整数之间由一个空格分隔。整数是 32 位有符号整数。

输出

只有一行,一个整数,即输入的第二个整数。

输入样例

123 456 789

输出样例

456

涉及知识点

整数 32 位有符号整数使用数据类型 int 变量的定义:数据类型 + 空格 + 变量名; 变量名的命名规则: ① 只能由数字、字符、下划线组成。 ② 开头不能是数字。 ③ 不可以是关键字。 ④ 字符不能是标点符号和运算符。 ⑤ 不可以包含空格。

Cpp 代码

#include <bits/stdc++.h>
using namespace std;
int main()
{
int a,b,c;
cin>>a>>b>>c;
cout<<b<<endl;
return 0;
}

Python 3 代码

a , b, c = map(int, input().split(' '))
print(b)

对齐输出

题目描述

读入三个整数,按每个整数占 8 个字符的宽度,右对齐输出它们,按照格式要求依次输出三个整数,之间以一个空格分开。

输入

只有一行,包含三个整数,整数之间以一个空格分开。

输出

只有一行,按照格式要求依次输出三个整数,之间以一个空格分开。

输入样例

123456789 0 -1

输出样例

123456789        0       -1

涉及知识点

对齐,这里使用 C 语言的格式化输出对齐比较方便,且效率比 C++ 中的 cin 和 cout 的效率高
整数的格式化对其输出:
左对齐:printf(“%-md”,变量名); 左对齐输出 m 位,不足 m 位,右边补空格
右对其:printf(“%md”, 变量名); 右对齐输出 m 位,不足 m 位,左边补空格

易错点

输出的三个数,相邻两个数之间有一个空格,很多同学输出的时候少输出了一个空格

Cpp 代码

#include <bits/stdc++.h>
using namespace std;
int main()
{
int a, b, c;
cin>>a>>b>>c;
printf("%8d %8d %8d",a,b,c);
return 0;
}

Python 3 代码

a, b, c = map(int, input().split(' '))
print("%8s" %a, end = ' ')
print("%8s" %b, end = ' ')
print("%8s" %c)

T1004 字符三角形

题目描述

给定一个字符,用它构造一个底边长 5 个字符,高 3 个字符的等腰字符三角形。

输入

输入只有一行,包含一个字符。

输出

该字符构成的等腰三角形,底边长 5 个字符,高 3 个字符。

输入样例

*

输出样例

  *
***
*****

涉及知识点

定义一个字符变量使用字符数据类型的关键字 char 来定义
使用输入语句 cin 来读取,然后使用 cout 或者 printf 输出即可

易错点

字符 ‘5’ 和 数字 5 是不同的,一些比较坑的题目字符给的数字字符,很多初学者会误认为是整数造成数据类型使用错误而答案错误。区别数字和数字字符的不同是比较 ASCII 码值。

Cpp 代码

#include <bits/stdc++.h>
using namespace std;
int main()
{
char ch;
cin>>ch;
cout<<" "<<ch<<endl;
cout<<" "<<ch<<ch<<ch<<endl;
cout<<ch<<ch<<ch<<ch<<ch<<endl;
return 0;
}

Python 3 代码

a = input()
a1 = " " + a
a2 = " " + a + a + a
a3 = a + a + a + a + a
print(a1[::1])
print(a2[::1])
print(a3[::1])

T1005 地球人口承载力估计

题目描述

假设地球上的新生资源按恒定速度增长。照此测算,地球上现有资源加上新生资源可供 x 亿人生活 a 年,或供 y 亿人生活 b 年。
为了能够实现可持续发展,避免资源枯竭,地球最多能够养活多少亿人?

输入

一行,包括四个正整数 x,a,y,b,两个整数之间用单个空格隔开。x>y,a<b,ax​ < by​,各整数均不大于 10000。

输出

一个实数 z,表示地球最多养活 z 亿人,舍入到小数点后两位。

输入样例

110 90 90 210

输出样例

75.00

涉及知识点

浮点数的输出,C++ 中保留两位小数输出:

cout<<fixed<<setprecision(2)<<浮点数变量名;

C 语言中保留两位小数的格式化输出:

printf("%.2f", 浮点类型变量名);

数据类型使用 double 进行运算,读入可以是整数或者使用实数 double 数据类型,因为 整数/整数 执行的是整数除法,无法保留小数位,造成计算的数据错误。

解题思路

x 亿人生活 a 年需要的资源是 ax,y 亿人生活 b 年需要的资源是 yb,由于x < y 且 a < b,那么 yb > xa 这部分多的资源就是地球的可再生能源,b - a 表示可再生能源的年份,资源差/年份差 就是地球最多能养活的人口数。

易错点

AC代码中的错误代码如下:

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int x,y,a,b;
double z;
cin>>x>>a>>y>>b;
z=(y*b-x*a)/(b-a); //整数的结果赋值给浮点数
cout<<setiosflags(ios::fixed)<<setprecision(2);
cout<<z<<endl;
return 0;
}

Cpp 代码

#include <bits/stdc++.h>
using namespace std;
int main(){
int x,a,y,d,z;
cin>>x>>a>>y>>d;
cout<<fixed<<setprecision(2)<<(double)(d*y-a*x)/(d-a)<<endl;
return 0;
}

Python 3 代码

x, a, y, b = map(int, input().split(' '))
ans = (y*b - a*x)/(b - a)
print("%.2f"%ans)

微信公众号:幸愉聊信奥