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
}

代码逻辑解释

  1. 输入三个整数

    • 使用 cin 从用户输入中读取三个整数,分别存储到变量 abc 中。

  2. 比较 ab 的大小

    • 使用 std::max 函数比较 ab 的大小,将较大的值赋给变量 maxa

  3. 比较 maxac 的大小

    • 再次使用 std::max 函数比较 maxac 的大小,将最终的最大值赋给 maxa

  4. 输出最大值

    • 使用 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
}

代码逻辑解释

  1. 输入三个整数

    • 使用 cin 从用户输入中读取三个整数,分别存储到变量 abc 中。

  2. 确保 aab 中的较大值

    • 如果 a 小于 b,则交换 ab 的值,使得 a 始终大于等于 b

  3. 确保 aac 中的较大值

    • 如果 a 小于 c,则交换 ac 的值,使得 a 始终大于等于 c

  4. 确保 bbc 中的较大值

    • 如果 b 小于 c,则交换 bc 的值,使得 b 始终大于等于 c

  5. 输出结果

    • 经过上述步骤后,a 是最大的,c 是最小的,b 是中间的值。使用 cout 按顺序输出 abc

 

补充 (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
}

代码逻辑解释

  1. 输入三个整数

    • 使用 scanf 从用户输入中读取三个整数,分别存储到变量 abc 中。

  2. 找到最大值

    • 使用嵌套的三元运算符比较 ab,然后比较结果与 c,最终确定最大值。

  3. 找到最小值

    • 使用嵌套的三元运算符比较 ab,然后比较结果与 c,最终确定最小值。

  4. 计算中间值

    • 中间值可以通过三个数的总和减去最大值和最小值得到。

  5. 输出结果

    • 按从大到小的顺序输出三个数:最大值、中间值、最小值。

 

 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
}
  1. 输入一个字符

    • 使用 scanf 从用户输入中读取一个字符,存储到变量 ch 中。

  2. 判断是否是小写字母

    • 使用条件表达式 ch >= 'a' && ch <= 'z' 判断输入的字符是否是小写字母。

    • 在 ASCII 码表中,小写字母 'a' 到 'z' 的范围是 97 到 122。

  3. 转换为大写字母

    • 如果输入的字符是小写字母,通过 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,表示程序正常结束
}

代码逻辑总结

  1. 输入字符:输入一个字符,存储在变量 ch 中。

  2. 判断字符类型

    • 如果字符是小写字母('a''z'),计算其序号为 ch - 'a' + 1

    • 如果字符是大写字母('A''Z'),计算其序号为 ch - 'A' + 1

  3. 输出序号:将计算得到的序号输出。

  4. 结束程序:程序正常结束。

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} 是一个初始化列表,表示将 ch1ch2ch3 作为参数传递给 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=1^{3}+5^{3}+3^{3}
现在要求输入一个三位数,判断该数是否是水仙花数,如果是,输出“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; // 程序正常结束
}

 

收藏加关注,观看不迷路

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/69858.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

此虚拟机的处理器所支持的功能不同于保存虚拟机状态的虚拟机的处理器所支持的功能

1.问题&#xff1a;今天记录下自己曾经遇到的一个问题&#xff0c;就是复制别人虚拟机时弹出来的一个报错&#xff1a; 如图&#xff0c;根本原因就在于虚拟机版本的问题&#xff0c;无法对应的上&#xff0c;所以必须升级虚拟机。 2.问题解决&#xff1a; 1.直接点击放弃,此时…

高温环境对电机性能的影响与LabVIEW应用

电机在高温环境下的性能可能受到多种因素的影响&#xff0c;尤其是对于持续工作和高负荷条件下的电机。高温会影响电机的效率、寿命以及可靠性&#xff0c;导致设备出现过热、绝缘损坏等问题。因此&#xff0c;在设计电机控制系统时&#xff0c;特别是在高温环境下&#xff0c;…

C++ Primer 处理类型

欢迎阅读我的 【CPrimer】专栏 专栏简介&#xff1a;本专栏主要面向C初学者&#xff0c;解释C的一些基本概念和基础语言特性&#xff0c;涉及C标准库的用法&#xff0c;面向对象特性&#xff0c;泛型特性高级用法。通过使用标准库中定义的抽象设施&#xff0c;使你更加适应高级…

本地部署DeepSeek开源多模态大模型Janus-Pro-7B实操

本地部署DeepSeek开源多模态大模型Janus-Pro-7B实操 Janus-Pro-7B介绍 Janus-Pro-7B 是由 DeepSeek 开发的多模态 AI 模型&#xff0c;它在理解和生成方面取得了显著的进步。这意味着它不仅可以处理文本&#xff0c;还可以处理图像等其他模态的信息。 模型主要特点:Permalink…

使用LLaMA-Factory对AI进行认知的微调

使用LLaMA-Factory对AI进行认知的微调 引言1. 安装LLaMA-Factory1.1. 克隆仓库1.2. 创建虚拟环境1.3. 安装LLaMA-Factory1.4. 验证 2. 准备数据2.1. 创建数据集2.2. 更新数据集信息 3. 启动LLaMA-Factory4. 进行微调4.1. 设置模型4.2. 预览数据集4.3. 设置学习率等参数4.4. 预览…

three.js+WebGL踩坑经验合集(6.2):负缩放,负定矩阵和行列式的关系(3D版本)

本篇将紧接上篇的2D版本对3D版的负缩放矩阵进行解读。 (6.1):负缩放&#xff0c;负定矩阵和行列式的关系&#xff08;2D版本&#xff09; 既然three.js对3D版的负缩放也使用行列式进行判断&#xff0c;那么&#xff0c;2D版的结论用到3D上其实是没毛病的&#xff0c;THREE.Li…

软件工程经济学-日常作业+大作业

目录 一、作业1 作业内容 解答 二、作业2 作业内容 解答 三、作业3 作业内容 解答 四、大作业 作业内容 解答 1.建立层次结构模型 (1)目标层 (2)准则层 (3)方案层 2.构造判断矩阵 (1)准则层判断矩阵 (2)方案层判断矩阵 3.层次单排序及其一致性检验 代码 …

小程序的协同工作与发布

1.小程序API的三大分类 2.小程序管理的概念&#xff0c;以及成员管理两个方面 3.开发者权限说明以及如何维护项目成员 4.小程序版本

架构技能(六):软件设计(下)

我们知道&#xff0c;软件设计包括软件的整体架构设计和模块的详细设计。 在上一篇文章&#xff08;见 《架构技能&#xff08;五&#xff09;&#xff1a;软件设计&#xff08;上&#xff09;》&#xff09;谈了软件的整体架构设计&#xff0c;今天聊一下模块的详细设计。 模…

基于微信小程序的实习记录系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

B-树:解锁大数据存储和与快速存储的密码

在我们学习数据结构的过程中&#xff0c;我们会学习到二叉搜索树、二叉平衡树、红黑树。 这些无一例外&#xff0c;是以一个二叉树展开的&#xff0c;那么对于我们寻找其中存在树中的数据&#xff0c;这个也是一个不错的方法。 但是&#xff0c;如若是遇到了非常大的数据容量…

【视频+图文详解】HTML基础4-html标签的基本使用

图文教程 html标签的基本使用 无序列表 作用&#xff1a;定义一个没有顺序的列表结构 由两个标签组成&#xff1a;<ul>以及<li>&#xff08;两个标签都属于容器级标签&#xff0c;其中ul只能嵌套li标签&#xff0c;但li标签能嵌套任何标签&#xff0c;甚至ul标…

网络工程师 (8)存储管理

一、页式存储基本原理 &#xff08;一&#xff09;内存划分 页式存储首先将内存物理空间划分成大小相等的存储块&#xff0c;这些块通常被称为“页帧”或“物理页”。每个页帧的大小是固定的&#xff0c;例如常见的页帧大小有4KB、8KB等&#xff0c;这个大小由操作系统决定。同…

LabVIEW无人机航线控制系统

介绍了一种无人机航线控制系统&#xff0c;该系统利用LabVIEW软件与MPU6050九轴传感器相结合&#xff0c;实现无人机飞行高度、速度、俯仰角和滚动角的实时监控。系统通过虚拟仪器技术&#xff0c;有效实现了数据的采集、处理及回放&#xff0c;极大提高了无人机航线的控制精度…

实现B-树

一、概述 1.历史 B树&#xff08;B-Tree&#xff09;结构是一种高效存储和查询数据的方法&#xff0c;它的历史可以追溯到1970年代早期。B树的发明人Rudolf Bayer和Edward M. McCreight分别发表了一篇论文介绍了B树。这篇论文是1972年发表于《ACM Transactions on Database S…

新一代搜索引擎,是 ES 的15倍?

Manticore Search介绍 Manticore Search 是一个使用 C 开发的高性能搜索引擎&#xff0c;创建于 2017 年&#xff0c;其前身是 Sphinx Search 。Manticore Search 充分利用了 Sphinx&#xff0c;显着改进了它的功能&#xff0c;修复了数百个错误&#xff0c;几乎完全重写了代码…

iperf 测 TCP 和 UDP 网络吞吐量

注&#xff1a;本文为 “iperf 测网络吞吐量” 相关文章合辑。 未整理去重。 使用 iperf3 监测网络吞吐量 Tom 王 2019-12-21 22:23:52 一 iperf3 介绍 (1.1) iperf3 是一个网络带宽测试工具&#xff0c;iperf3 可以擦拭 TCP 和 UDP 带宽质量。iperf3 可以测量最大 TCP 带宽…

神经网络的数据流动过程(张量的转换和输出)

文章目录 1、文本从输入到输出&#xff0c;经历了什么&#xff1f;2、数据流动过程是张量&#xff0c;如何知道张量表达的文本内容&#xff1f;3、词转为张量、张量转为词是唯一的吗&#xff1f;为什么&#xff1f;4、如何保证词张量的质量和合理性5、总结 &#x1f343;作者介…

MediaPipe与YOLO已训练模型实现可视化人脸和手势关键点检测

项目首页 - ZiTai_YOLOV11:基于前沿的 MediaPipe 技术与先进的 YOLOv11 预测试模型&#xff0c;精心打造一款强大的实时检测应用。该应用无缝连接摄像头&#xff0c;精准捕捉画面&#xff0c;能即时实现人脸检测、手势识别以及骨骼关键点检测&#xff0c;将检测结果实时、直观地…

JAVA篇12 —— 泛型的使用

​ 欢迎来到我的主页&#xff1a;【Echo-Nie】 本篇文章收录于专栏【JAVA学习】 如果这篇文章对你有帮助&#xff0c;希望点赞收藏加关注啦~ 1 泛型介绍 先对集合进行说明&#xff0c;不能对加入到集合中的元素类型进行约束&#xff08;不安全&#xff09;。遍历的时候需要…