ZZNUOJ(C/C++)基础练习1021——1030(详解版)
目录
1021 : 三数求大值
C语言版
C++版
代码逻辑解释
1022 : 三整数排序
C语言版
C++版
代码逻辑解释
补充 (C语言版,三目运算)C++类似
代码逻辑解释
1023 : 大小写转换
C语言版
C++版
1024 : 计算字母序号
C语言版
C++版
代码逻辑总结
1025 : 最大字符
C语言版
C++版
补充(c++ 版,使用max函数)
寻找最大字符
1026 : 字符类型判断
C语言版
C++版
判断字符类型
1027 : 判断水仙花数
C语言版
C++版
1028 : I love 闰年!
编辑
C语言版
C++版
1029 : 三角形判定
编辑
C语言版
C++版
1030 : 判断直角三角形
C语言版
C++版
补充C语言版
补充C++版
收藏加关注,观看不迷路
1021 : 三数求大值
题目描述
从键盘输入三个整数x,y和z,求出最大数的值。
输入
输入三个整数x,y和z。
输出
输出最大数的值。
样例输入
20 16 18
样例输出
20
C语言版
了解三目运算:简要介绍C语言/C++的三目运算符-CSDN博客
#include<stdio.h> // 包含标准输入输出头文件,用于使用printf和scanf函数int main() {int a, b, c; // 定义三个整数变量a、b、c,用于存储输入的三个数// 使用scanf从标准输入读取三个整数,分别存储到变量a、b、c中scanf("%d%d%d", &a, &b, &c);// 使用三元运算符比较a和b的大小,将较大的值赋给变量maxint max = a > b ? a : b;// 再次使用三元运算符比较max和c的大小,将最终的最大值赋给maxmax = max > c ? max : c;// 使用printf将最大值输出到标准输出,并换行printf("%d\n", max);return 0; // 程序正常结束,返回0
}
C++版
了解max函数:简要介绍C++中的 max 和 min 函数以及返回值-CSDN博客
#include<iostream> // 包含输入输出流库,用于使用cin和cout
#include<algorithm> // 包含算法库,用于使用std::max等算法函数
using namespace std; // 使用标准命名空间,避免每次调用标准库函数或对象时都加std::int main() {int a, b, c; // 定义三个整数变量a、b、c,用于存储用户输入的三个数// 使用cin从标准输入读取三个整数,分别存储到变量a、b、c中cin >> a >> b >> c;// 使用std::max函数比较a和b的大小,将较大的值赋给变量maxaint maxa = max(a, b);// 再次使用std::max函数比较maxa和c的大小,将最终的最大值赋给maxamaxa = max(maxa, c);// 使用cout将最大值输出到标准输出,并换行cout << maxa << endl;return 0; // 程序正常结束,返回0
}
代码逻辑解释
输入三个整数:
使用
cin
从用户输入中读取三个整数,分别存储到变量a
、b
和c
中。比较
a
和b
的大小:
使用
std::max
函数比较a
和b
的大小,将较大的值赋给变量maxa
。比较
maxa
和c
的大小:
再次使用
std::max
函数比较maxa
和c
的大小,将最终的最大值赋给maxa
。输出最大值:
使用
cout
将最大值输出到标准输出,并换行。
1022 : 三整数排序
题目描述
从键盘输入三个整数x,y和z,按从大到小的顺序输出它们的值。输入
输入三个整数x,y和z。
输出
按从大到小的顺序输出这三个整数,数据之间用空格隔开。
样例输入
20 16 18
样例输出
20 18 16
C语言版
#include<stdio.h> // 包含标准输入输出头文件,用于使用scanf和printf函数int main() {int a, b, c, mid; // 定义三个整数变量a、b、c用于存储输入的三个数,mid用于临时交换值// 使用scanf从标准输入读取三个整数,分别存储到变量a、b、c中scanf("%d%d%d", &a, &b, &c);// 第一步:确保a是a和b中的较大值if (a < b) { // 如果a小于bmid = a; // 将a的值暂存到mida = b; // 将b的值赋给ab = mid; // 将mid(原a的值)赋给b}// 第二步:确保a是a和c中的较大值if (a < c) { // 如果a小于cmid = a; // 将a的值暂存到mida = c; // 将c的值赋给ac = mid; // 将mid(原a的值)赋给c}// 第三步:确保b是b和c中的较大值if (b < c) { // 如果b小于cmid = b; // 将b的值暂存到midb = c; // 将c的值赋给bc = mid; // 将mid(原b的值)赋给c}// 输出排序后的结果,a是最大的,c是最小的printf("%d %d %d\n", a, b, c);return 0; // 程序正常结束,返回0
}
C++版
#include<iostream> // 包含标准输入输出流库
#include<algorithm> // 包含标准算法库(虽然在这个程序中没有用到算法库的功能)
using namespace std; // 使用标准命名空间,避免每次调用标准库功能时都需要前缀std::int main() {int a, b, c, mid; // 定义四个整数变量,a、b、c用于存储输入的三个数,mid用于临时交换值cin >> a >> b >> c; // 从标准输入读取三个整数,分别存储到变量a、b、c中// 第一步:确保a是a和b中的较大值if (a < b) { // 如果a小于bmid = a; // 将a的值暂存到mida = b; // 将b的值赋给ab = mid; // 将mid(原a的值)赋给b}// 第二步:确保a是a和c中的较大值if (a < c) { // 如果a小于cmid = a; // 将a的值暂存到mida = c; // 将c的值赋给ac = mid; // 将mid(原a的值)赋给c}// 第三步:确保b是b和c中的较大值if (b < c) { // 如果b小于cmid = b; // 将b的值暂存到midb = c; // 将c的值赋给bc = mid; // 将mid(原b的值)赋给c}// 按从大到小的顺序输出三个数cout << a << " " << b << " " << c << endl;return 0; // 程序正常结束,返回0
}
代码逻辑解释
输入三个整数:
使用
cin
从用户输入中读取三个整数,分别存储到变量a
、b
和c
中。确保
a
是a
和b
中的较大值:
如果
a
小于b
,则交换a
和b
的值,使得a
始终大于等于b
。确保
a
是a
和c
中的较大值:
如果
a
小于c
,则交换a
和c
的值,使得a
始终大于等于c
。确保
b
是b
和c
中的较大值:
如果
b
小于c
,则交换b
和c
的值,使得b
始终大于等于c
。输出结果:
经过上述步骤后,
a
是最大的,c
是最小的,b
是中间的值。使用cout
按顺序输出a
、b
和c
。
补充 (C语言版,三目运算)C++类似
#include<stdio.h> // 包含标准输入输出头文件,用于使用scanf和printf函数int main() {int a, b, c; // 定义三个整数变量a、b、c用于存储输入的三个数scanf("%d%d%d", &a, &b, &c); // 从标准输入读取三个整数,分别存储到变量a、b、c中// 使用三元运算符找到最大值// 首先比较a和b,如果a大于b,则比较a和c,否则比较b和cint max = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);// 使用三元运算符找到最小值// 首先比较a和b,如果a小于b,则比较a和c,否则比较b和cint min = (a < b) ? ((a < c) ? a : c) : ((b < c) ? b : c);// 计算中间值// 中间值等于三个数的总和减去最大值和最小值int mid = (a + b + c) - max - min;// 按从大到小的顺序输出三个数printf("%d %d %d\n", max, mid, min);return 0; // 程序正常结束,返回0
}
代码逻辑解释
输入三个整数:
使用
scanf
从用户输入中读取三个整数,分别存储到变量a
、b
和c
中。找到最大值:
使用嵌套的三元运算符比较
a
和b
,然后比较结果与c
,最终确定最大值。找到最小值:
使用嵌套的三元运算符比较
a
和b
,然后比较结果与c
,最终确定最小值。计算中间值:
中间值可以通过三个数的总和减去最大值和最小值得到。
输出结果:
按从大到小的顺序输出三个数:最大值、中间值、最小值。
1023 : 大小写转换
题目描述
输入一个字母,若是小写字母,则变为大写输出,否则,原样输出 。
输入
输入为一个字母a 。
输出
输出为转换后的字母,单独占一行 。
样例输入
a
样例输出
A
了解ASCII 码表:常用的 ASCII 码表字符-CSDN博客
C语言版
#include<stdio.h> // 包含标准输入输出头文件,用于使用scanf和printf函数int main() {char ch; // 定义一个字符变量ch,用于存储输入的字符scanf("%c", &ch); // 从标准输入读取一个字符,存储到变量ch中// 判断输入的字符是否是小写字母if (ch >= 'a' && ch <= 'z') {// 如果是小写字母,将其转换为大写字母// 小写字母和大写字母在ASCII码表中相差32ch = ch - 32;}// 输出转换后的字符printf("%c\n", ch);return 0; // 程序正常结束,返回0
}
C++版
#include<iostream> // 包含标准输入输出流库
#include<algorithm> // 包含标准算法库(虽然在这个程序中没有用到算法库的功能)
using namespace std; // 使用标准命名空间,避免每次调用标准库功能时都需要前缀std::int main() {char ch; // 定义一个字符变量ch,用于存储输入的字符cin >> ch; // 从标准输入读取一个字符,存储到变量ch中// 判断输入的字符是否是小写字母if (ch >= 'a' && ch <= 'z') {// 如果是小写字母,将其转换为大写字母// 小写字母和大写字母在ASCII码表中相差32ch = ch - 32;}// 输出转换后的字符cout << ch << endl;return 0; // 程序正常结束,返回0
}
输入一个字符:
使用
scanf
从用户输入中读取一个字符,存储到变量ch
中。判断是否是小写字母:
使用条件表达式
ch >= 'a' && ch <= 'z'
判断输入的字符是否是小写字母。在 ASCII 码表中,小写字母 'a' 到 'z' 的范围是 97 到 122。
转换为大写字母:
如果输入的字符是小写字母,通过
ch = ch - 32
将其转换为大写字母。在 ASCII 码表中,大写字母 'A' 到 'Z' 的范围是 65 到 90,小写字母和大写字母的 ASCII 码值相差 32。
1024 : 计算字母序号
题目描述
输入一个英文字母(可能是大写,也可能是小写),输出该字母在字母表中的序号(’a’和’A’的序号为1)。
输入
输入只有一个英文字母。
输出
输出一个整数,表示该字母在字母表的序号,输出单独占一行。
样例输入
D
样例输出
4
了解ASCII 码表:常用的 ASCII 码表字符-CSDN博客
C语言版
#include<stdio.h> // 包含标准输入输出库
int main()
{char ch; // 定义一个字符变量 ch,用于存储输入的字符int num; // 定义一个整数变量 num,用于存储字母对应的序号scanf("%c", &ch); // 从标准输入读取一个字符,存储到变量 ch 中if(ch >= 'a' && ch <= 'z') // 判断输入的字符是否为小写字母{num = ch - 'a' + 1; // 如果是小写字母,计算字母序号// 例如,'a' 的 ASCII 码是 97,'b' 是 98,'a' - 'a' = 0,所以 'a' 对应的序号是 1}if(ch >= 'A' && ch <= 'Z') // 判断输入的字符是否为大写字母{num = ch - 'A' + 1; // 如果是大写字母,计算字母序号// 例如,'A' 的 ASCII 码是 65,'B' 是 66,'A' - 'A' = 0,所以 'A' 对应的序号是 1}printf("%d\n", num); // 输出字母对应的序号return 0; // 程序正常结束,返回 0
}
C++版
#include<iostream>
#include<algorithm>
using namespace std;int main()
{char ch; // 定义一个字符变量 chint num; // 定义一个整数变量 numcin >> ch; // 从标准输入读取一个字符并存储在 ch 中if(ch >= 'a' && ch <= 'z') // 判断 ch 是否为小写字母{num = ch - 'a' + 1; // 将小写字母转换为对应的字母序号}if(ch >= 'A' && ch <= 'Z') // 判断 ch 是否为大写字母{num = ch - 'A' + 1; // 将大写字母转换为对应的字母序号}cout << num << endl; // 输出字母对应的序号return 0; // 返回 0,表示程序正常结束
}
代码逻辑总结
输入字符:输入一个字符,存储在变量
ch
中。判断字符类型:
如果字符是小写字母(
'a'
到'z'
),计算其序号为ch - 'a' + 1
。如果字符是大写字母(
'A'
到'Z'
),计算其序号为ch - 'A' + 1
。输出序号:将计算得到的序号输出。
结束程序:程序正常结束。
1025 : 最大字符
题目描述
给你三个ASCII字符(不含空白字符:包括空格、制表符\t、回车换行符\n),找出其中最大的那个。
输入
输入包含三个字符,之间有一个空格隔开,输入的格式为:
a b c 。输出
输出ASII码最大的那个字符,占一行 。样例输入
a b c
样例输出
c
注意:使用scanf输入字符时,在%d之间需加一个空格,这是因为空格也是字符。
C语言版
#include<stdio.h> // 包含标准输入输出库int main()
{char ch1, ch2, ch3; // 定义三个字符变量,用于存储用户输入的三个字符scanf("%c %c %c", &ch1, &ch2, &ch3); // 从标准输入读取三个字符,分别存储到 ch1、ch2 和 ch3 中char max = ch1 > ch2 ? ch1 : ch2; // 使用三元运算符,比较 ch1 和 ch2,取较大的值赋给 maxmax = max > ch3 ? max : ch3; // 再次使用三元运算符,比较 max 和 ch3,取较大的值赋给 maxprintf("%c\n", max); // 输出 max,即三个字符中最大的字符return 0; // 程序正常结束,返回 0
}
C++版
#include<iostream> // 包含标准输入输出流库
#include<algorithm> // 包含算法库(虽然在这个程序中没有用到算法库的功能)
using namespace std; // 使用标准命名空间,避免每次调用标准库功能时都要加 std::int main()
{char ch1, ch2, ch3; // 定义三个字符变量,用于存储用户输入的三个字符cin >> ch1 >> ch2 >> ch3; // 从标准输入依次读取三个字符,分别存储到 ch1、ch2 和 ch3 中char max = ch1 > ch2 ? ch1 : ch2; // 使用三元运算符比较 ch1 和 ch2,取较大的字符赋值给 maxmax = max > ch3 ? max : ch3; // 再次使用三元运算符比较当前 max 和 ch3,取较大的字符赋值给 maxcout << max << endl; // 输出 max,即三个字符中最大的字符,并换行return 0; // 程序正常结束,返回 0
}
补充(c++ 版,使用max函数)
了解max函数:简要介绍C++中的 max 和 min 函数以及返回值-CSDN博客
#include<iostream> // 包含标准输入输出流库
#include<algorithm> // 包含标准算法库,用于使用 std::max 函数
using namespace std; // 使用标准命名空间,避免每次调用标准库功能时都要加 std::int main()
{char ch1, ch2, ch3; // 定义三个字符变量,用于存储用户输入的三个字符cin >> ch1 >> ch2 >> ch3; // 从标准输入依次读取三个字符,分别存储到 ch1、ch2 和 ch3 中char maxa = max({ch1, ch2, ch3}); // 使用 std::max 函数直接找出三个字符中的最大值// max 函数接受一个初始化列表 {ch1, ch2, ch3},并返回其中的最大值cout << maxa << endl; // 输出最大值 maxa,并换行return 0; // 程序正常结束,返回 0
}
寻找最大字符
char maxa = max({ch1, ch2, ch3});
:
使用
std::max
函数直接找出三个字符中的最大值。
{ch1, ch2, ch3}
是一个初始化列表,表示将ch1
、ch2
和ch3
作为参数传递给std::max
函数。
std::max
函数会比较这些字符的 ASCII 值,返回其中最大的字符。
1026 : 字符类型判断
题目描述
从键盘输入一个字符,判断该字符是否大写字母、小写字母、数字字符或其他字符。分别输出对应的提示信息。
输入
输入一个字符。
输出
如果该字符是大写字母,则输出“upper”;若是小写字母,则输出“lower”;若是数字字符,则输出“digit”;若是其他字符,则输出“other”。(输出不含双引号)。
样例输入
1
样例输出
digit
C语言版
#include<stdio.h> // 包含标准输入输出库int main()
{char ch; // 定义一个字符变量,用于存储用户输入的字符scanf("%c", &ch); // 从标准输入读取一个字符,存储到变量 ch 中if(ch >= 'A' && ch <= 'Z') // 判断字符是否为大写字母{printf("upper\n"); // 如果是大写字母,输出 "upper"}else if(ch >= 'a' && ch <= 'z') // 判断字符是否为小写字母{printf("lower\n"); // 如果是小写字母,输出 "lower"}else if(ch >= '0' && ch <= '9') // 判断字符是否为数字{printf("digit\n"); // 如果是数字,输出 "digit"}else // 如果字符不属于上述任何一种情况{printf("other\n"); // 输出 "other"}return 0; // 程序正常结束,返回 0
}
C++版
#include<iostream> // 包含标准输入输出流库
#include<algorithm> // 包含标准算法库(虽然在这个程序中没有用到算法库的功能)
using namespace std; // 使用标准命名空间,避免每次调用标准库功能时都要加 std::int main()
{char ch; // 定义一个字符变量,用于存储用户输入的字符cin >> ch; // 从标准输入读取一个字符,存储到变量 ch 中if(ch >= 'A' && ch <= 'Z') // 判断字符是否为大写字母{cout << "upper" << endl; // 如果是大写字母,输出 "upper" 并换行}else if(ch >= 'a' && ch <= 'z') // 判断字符是否为小写字母{cout << "lower" << endl; // 如果是小写字母,输出 "lower" 并换行}else if(ch >= '0' && ch <= '9') // 判断字符是否为数字{cout << "digit" << endl; // 如果是数字,输出 "digit" 并换行}else // 如果字符不属于上述任何一种情况{cout << "other" << endl; // 输出 "other" 并换行}return 0; // 程序正常结束,返回 0
}
判断字符类型
大写字母判断:
if(ch >= 'A' && ch <= 'Z')
:判断字符是否在大写字母的范围内(ASCII 值从 65 到 90)。如果是大写字母,输出
"upper"
。小写字母判断:
else if(ch >= 'a' && ch <= 'z')
:判断字符是否在小写字母的范围内(ASCII 值从 97 到 122)。如果是小写字母,输出
"lower"
。数字判断:
else if(ch >= '0' && ch <= '9')
:判断字符是否在数字的范围内(ASCII 值从 48 到 57)。如果是数字,输出
"digit"
。其他字符:
else
:如果字符不属于上述任何一种情况(即不是大写字母、小写字母或数字),输出"other"
。
1027 : 判断水仙花数
题目描述
春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=
。
现在要求输入一个三位数,判断该数是否是水仙花数,如果是,输出“yes”,否则输出“no”。输入
输入一个三位的正整数。
输出
输出“yes”或“no”。
样例输入
153
样例输出
yes
C语言版
#include<stdio.h> // 包含标准输入输出库int main() // 主函数
{int num, a, b, c; // 定义变量:num用于存储输入的数字,a、b、c分别用于存储个位、十位和百位数字scanf("%d", &num); // 从用户输入中读取一个整数,存储到变量num中// 分离数字:将num的个位、十位和百位分别提取出来a = num % 10; // 提取个位数字:num除以10的余数b = num / 10 % 10; // 提取十位数字:先将num除以10去掉个位,再取余c = num / 100; // 提取百位数字:直接将num除以100// 判断是否为水仙花数if (num == a * a * a + b * b * b + c * c * c) // 判断num是否等于其各位数字的立方和{printf("yes\n"); // 如果是水仙花数,输出"yes"}else{printf("no\n"); // 如果不是水仙花数,输出"no"}return 0; // 程序正常结束
}
C++版
#include<iostream> // 包含标准输入输出流库
using namespace std; // 使用标准命名空间stdint main() // 主函数
{int num, a, b, c; // 定义变量:num用于存储输入的数字,a、b、c分别用于存储个位、十位和百位数字cin >> num; // 从标准输入读取一个整数,存储到变量num中// 分离数字:将num的个位、十位和百位分别提取出来a = num % 10; // 提取个位数字:num除以10的余数b = num / 10 % 10; // 提取十位数字:先将num除以10去掉个位,再取余c = num / 100; // 提取百位数字:直接将num除以100// 判断是否为水仙花数if (num == a * a * a + b * b * b + c * c * c) // 判断num是否等于其各位数字的立方和{cout << "yes" << endl; // 如果是水仙花数,输出"yes"}else{cout << "no" << endl; // 如果不是水仙花数,输出"no"}return 0; // 程序正常结束
}
1028 : I love 闰年!
题目描述
根据一个年份,判断是否是闰年。
输入
输入为一个整数,表示一个年份。
输出
如果是闰年,输出"Yes",否则输出"No"。输出单独占一行。
样例输入
2012
样例输出
Yes
注意闰年的判定方法
C语言版
#include<stdio.h> // 包含标准输入输出库
int main() // 主函数
{int year; // 定义一个整型变量year,用于存储用户输入的年份scanf("%d", &year); // 从用户输入中读取一个整数,存储到变量year中// 判断输入的年份是否为闰年if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) // 闰年的判断条件{printf("Yes\n"); // 如果是闰年,输出"Yes"}else{printf("No\n"); // 如果不是闰年,输出"No"}return 0; // 程序正常结束
}
C++版
#include<iostream> // 包含标准输入输出流库
using namespace std; // 使用标准命名空间stdint main() // 主函数
{int year; // 定义一个整型变量year,用于存储用户输入的年份cin >> year; // 从标准输入读取一个整数,存储到变量year中// 判断输入的年份是否为闰年if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) // 闰年的判断条件{cout << "Yes" << endl; // 如果是闰年,输出"Yes"}else{cout << "No\n" << endl; // 如果不是闰年,输出"No",并换行}return 0; // 程序正常结束
}
1029 : 三角形判定
题目描述
给你三个正整数,判断用这三个整数做边长是否能构成一个三角形。
输入
输入为三个正整数(32-int),中间有一个空格隔开。
输出
如果能构成三角形,输出"Yes",否则输出"No" 。
样例输入
3 4 5
样例输出
Yes
C语言版
#include<stdio.h> // 包含标准输入输出库int main() // 主函数
{int a, b, c; // 定义三个整型变量a、b、c,用于存储用户输入的三个数scanf("%d%d%d", &a, &b, &c); // 从用户输入中读取三个整数,分别存储到变量a、b、c中// 判断三个数是否可以构成三角形if (a + b > c && a + c > b && b + c > a) // 根据三角形的不等式定理进行判断{printf("Yes\n"); // 如果满足条件,输出"Yes"}else{printf("No\n"); // 如果不满足条件,输出"No"}return 0; // 程序正常结束
}
C++版
#include<iostream> // 包含标准输入输出流库
using namespace std; // 使用标准命名空间stdint main() // 主函数
{int a, b, c; // 定义三个整型变量a、b、c,用于存储用户输入的三个数cin >> a >> b >> c; // 从标准输入读取三个整数,分别存储到变量a、b、c中// 判断三个数是否可以构成三角形if (a + b > c && a + c > b && b + c > a) // 根据三角形的不等式定理进行判断{cout << "Yes" << endl; // 如果满足条件,输出"Yes"}else{cout << "No" << endl; // 如果不满足条件,输出"No"}return 0; // 程序正常结束
}
1030 : 判断直角三角形
题目描述
输入三正整数,判断用这三个整数做边长是否能构成一个直角三角形。
输入
输入三个正整数,判断用这三个整数做边长是否能构成一个直角三角形。
输出
能否构成直角三角形。如能输出:yes.若不能,输出:no。
样例输入
6 8 10
样例输出
yes
注意输出为小写的单词
C语言版
#include<stdio.h> // 包含标准输入输出库int main() // 主函数
{int a, b, c; // 定义三个整型变量a、b、c,用于存储用户输入的三个数scanf("%d%d%d", &a, &b, &c); // 从用户输入中读取三个整数,分别存储到变量a、b、c中// 确定最大值、最小值和中间值int max = a > b ? (a > c ? a : c) : (b > c ? b : c); // 最大值int min = a < b ? (a < c ? a : c) : (b < c ? b : c); // 最小值int mid = a + b + c - min - max; // 中间值// 判断是否满足勾股定理if (max * max == min * min + mid * mid) // 检查最大值的平方是否等于最小值和中间值平方和{printf("yes\n"); // 如果满足条件,输出"yes"}else{printf("no\n"); // 如果不满足条件,输出"no"}return 0; // 程序正常结束
}
C++版
#include<iostream> // 包含标准输入输出流库
#include<algorithm> // 包含算法库(虽然在这个程序中没有用到算法库的功能)
using namespace std; // 使用标准命名空间stdint main() // 主函数
{int a, b, c; // 定义三个整型变量a、b、c,用于存储用户输入的三个数cin >> a >> b >> c; // 从标准输入读取三个整数,分别存储到变量a、b、c中// 确定最大值、最小值和中间值int max = a > b ? (a > c ? a : c) : (b > c ? b : c); // 最大值int min = a < b ? (a < c ? a : c) : (b < c ? b : c); // 最小值int mid = a + b + c - min - max; // 中间值// 判断是否满足勾股定理if (max * max == min * min + mid * mid) // 检查最大值的平方是否等于最小值和中间值平方和{cout << "yes" << endl; // 如果满足条件,输出"yes"}else{cout << "no" << endl; // 如果不满足条件,输出"no"}return 0; // 程序正常结束
}
补充C语言版
#include<stdio.h>
int main()
{int a,b,c,mid;scanf("%d%d%d",&a,&b,&c);// 第一步:确保a是a和b中的较大值if (a < b) { // 如果a小于bmid = a; // 将a的值暂存到mida = b; // 将b的值赋给ab = mid; // 将mid(原a的值)赋给b}// 第二步:确保a是a和c中的较大值if (a < c) { // 如果a小于cmid = a; // 将a的值暂存到mida = c; // 将c的值赋给ac = mid; // 将mid(原a的值)赋给c}//两次if判断,保证a为三个数中的最大值// 判断是否满足勾股定理if (a * a == b * b + c * c) // 检查最大值的平方是否等于另外两个数的平方和{printf("yes\n"); // 如果满足条件,输出"yes"}else{printf("no\n"); // 如果不满足条件,输出"no"}return 0;
}
补充C++版
#include<iostream> // 包含标准输入输出流库
using namespace std; // 使用标准命名空间stdint main() // 主函数
{int a, b, c, mid; // 定义四个整型变量a、b、c和midcin >> a >> b >> c; // 从标准输入读取三个整数,分别存储到变量a、b、c中// 第一步:确保a是a和b中的较大值if (a < b) { // 如果a小于bmid = a; // 将a的值暂存到mida = b; // 将b的值赋给ab = mid; // 将mid(原a的值)赋给b}// 第二步:确保a是a和c中的较大值if (a < c) { // 如果a小于cmid = a; // 将a的值暂存到mida = c; // 将c的值赋给ac = mid; // 将mid(原a的值)赋给c}//两次if判断,保证a为三个数中的最大值// 判断是否满足勾股定理if (a * a == b * b + c * c) // 检查最大值的平方是否等于另外两个数的平方和{cout << "yes" << endl; // 如果满足条件,输出"yes"}else{cout << "no" << endl; // 如果不满足条件,输出"no"}return 0; // 程序正常结束
}
收藏加关注,观看不迷路
相关文章:

ZZNUOJ(C/C++)基础练习1021——1030(详解版)
目录 1021 : 三数求大值 C语言版 C版 代码逻辑解释 1022 : 三整数排序 C语言版 C版 代码逻辑解释 补充 (C语言版,三目运算)C类似 代码逻辑解释 1023 : 大小写转换 C语言版 C版 1024 : 计算字母序号 C语言版 C版 代码逻辑总结…...

力扣116. 填充每个节点的下一个右侧节点指针
Problem: 116. 填充每个节点的下一个右侧节点指针 文章目录 题目描述思路复杂度Code 题目描述 思路 遍历思想(利用二叉树的先序遍历) 本题目的难点在于对于不同父节点的邻接问题因此我们可以抽象将两两节点为一组(不同父节点的两个孩子节点也抽象为一组)…...
寒武纪MLU370部署deepseek r1
文章目录 前言一、平台环境准备二、模型下载三、环境安装四、代码修改五、运行效果 前言 DeepSeek-R1拥有卓越的性能,在数学、代码和推理任务上可与OpenAI o1媲美。其采用的大规模强化学习技术,仅需少量标注数据即可显著提升模型性能,为大模…...

Python NumPy(10):NumPy 统计函数
1 NumPy 统计函数 NumPy 提供了很多统计函数,用于从数组中查找最小元素,最大元素,百分位标准差和方差等。 1.1 numpy.amin() 和 numpy.amax() numpy.amin() 用于计算数组中的元素沿指定轴的最小值。 numpy.amin(a, axisNone, outNone, keep…...

Ubuntu下的Doxygen+VScode实现C/C++接口文档自动生成
Ubuntu下的DoxygenVScode实现C/C接口文档自动生成 Chapter1 Ubuntu下的DoxygenVScode实现C/C接口文档自动生成1、 Doxygen简介1. 安装Doxygen1)方法一:2)方法二:2. doxygen注释自动生成插件3. doxygen注释基本语法4. doxygen的生成…...
【字符串两大注意事项】
表达字符串的方式 1.双引号:"hello world" 2.字符指针:char* ptr "hello world" 3.字符数组:char arr[] "hello world"辨析 项目表示方式代表含义内存分布1“hello world”字符串字面量字符串常量就是数据…...
jmap命令详解
jmap 用于生成 heap dump 文件,如果不使用这个命令,还可以使用-XX:HeapDumpOnOutOfMemoryError参数来让虚拟机出现 OOM 的时候自动生成 dump 文件。 jmap 不仅可以生成 dump 文件,还可以查询finalize执行队列、Java 堆的详细信息,…...

微机原理与接口技术期末大作业——4位抢答器仿真
在微机原理与接口技术的学习旅程中,期末大作业成为了检验知识掌握程度与实践能力的关键环节。本次我选择设计并仿真一个 4 位抢答器系统,通过这个项目,深入探索 8086CPU 及其接口技术的实际应用。附完整压缩包下载。 一、系统设计思路 &…...
FOC核心原理的C语言实现
概述 应用FOC算法,比如无人机、电动汽车或工业电机控制。因此,除了理论,还需要提供实用的实现步骤、常见问题及解决方案,比如如何获取电机的位置信息(编码器或传感器),如何处理电流采样&#x…...

基于互联网+智慧水务信息化整体解决方案
智慧水务的概述与发展背景 智慧水务是基于互联网、云计算、大数据、物联网等先进技术,对水务行业的工程建设、生产管理、管网运营、营销服务及企业综合管理等业务进行全面智慧化管理的创新模式。它旨在解决水务企业分散经营、管理水平不高、投资不足等问题。 水务…...
【信息系统项目管理师-选择真题】2005下半年综合知识答案和详解
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 【第1题】【第2题】【第3题】【第4题】【第5题】【第6题】【第7~8题】【第9~10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18题】【第19题】【第20题】【第21题】【第22题…...

计算机毕业设计Python+CNN卷积神经网络考研院校推荐系统 考研分数线预测 考研推荐系统 考研爬虫 考研大数据 Hadoop 大数据毕设 机器学习
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
第十一章 F - H 开头的术语
文章目录 第十一章 F - H 开头的术语文件流 (file stream)最终类 (final class)最终方法 (final method)最终属性 (final property)外键 (foreign key)基础 (foundation) 以 G 开头的术语全局 (global)全局数据库 (globals database)全局目录 (global directory)全局唯一标识符…...

深度研究新范式:通过Ollama和DeepSeek R1实现自动化研究
引言 在信息时代,海量数据的产生与传播速度前所未有地加快,这既为研究者提供了丰富的资源,也带来了信息筛选与处理的巨大挑战。 传统研究方法往往依赖于研究者的个人知识库、文献检索技能以及时间投入,但面对指数级增长的数据量…...

深度学习的应用
目录 一、机器视觉 1.1 应用场景 1.2 常见的计算机视觉任务 1.2.1 图像分类 1.2.2 目标检测 1.2.3 图像分割 二、自然语言处理 三、推荐系统 3.1 常用的推荐系统算法实现方案 四、图像分类实验补充 4.1 CIFAR-100 数据集实验 实验代码 4.2 CIFAR-10 实验代码 深…...

基于51单片机和WS2812B彩色灯带的流水灯
目录 系列文章目录前言一、效果展示二、原理分析三、各模块代码四、主函数总结 系列文章目录 前言 用彩色灯带按自己想法DIY一条流水灯,谁不喜欢呢? 所用单片机:STC15W204S (也可以用其他1T单片机,例如,S…...
DFS(深度优先搜索)与回溯算法详解
DFS(深度优先搜索)与回溯算法详解 一、DFS 基础 1. 什么是DFS? 深度优先搜索(Depth-First Search,DFS)是一种用于遍历或搜索树或图的算法。其核心思想是: 一条路走到黑:从起点出发…...

服务器虚拟化技术详解与实战:架构、部署与优化
📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 引言 在现代 IT 基础架构中,服务器虚拟化已成为提高资源利用率、降低运维成本、提升系统灵活性的重要手段。通过服务…...

数据分析系列--②RapidMiner导入数据和存储过程
一、下载数据 二、导入数据 1. 在本地计算机中创建3个文件夹 2. 从本地选择.csv或.xlsx 三、界面说明 四、存储过程 1.保存 Congratulations, you are done. 一、下载数据 点击下载AssociationAnalysisData.xlsx数据集 二、导入数据 1. 在本地计算机中创建3个文件夹 2. 从…...

CSS 背景与边框:从基础到高级应用
CSS 背景与边框:从基础到高级应用 1. CSS 背景样式1.1 背景颜色示例代码:设置背景颜色 1.2 背景图像示例代码:设置背景图像 1.3 控制背景平铺行为示例代码:控制背景平铺 1.4 调整背景图像大小示例代码:调整背景图像大小…...

龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...

【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...

3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...

HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...