当前位置: 首页 > article >正文

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; // 程序正常结束
}

 

收藏加关注,观看不迷路

相关文章:

ZZNUOJ(C/C++)基础练习1021——1030(详解版)

目录 1021 : 三数求大值 C语言版 C版 代码逻辑解释 1022 : 三整数排序 C语言版 C版 代码逻辑解释 补充 &#xff08;C语言版&#xff0c;三目运算&#xff09;C类似 代码逻辑解释 1023 : 大小写转换 C语言版 C版 1024 : 计算字母序号 C语言版 C版 代码逻辑总结…...

2025 年,链上固定收益领域迈向新时代

“基于期限的债券市场崛起与 Secured Finance 的坚定承诺” 2025年&#xff0c;传统资产——尤其是股票和债券——大规模涌入区块链的浪潮将创造历史。BlackRock 首席执行官 Larry Fink 近期在彭博直播中表示&#xff0c;代币化股票和债券将逐步融入链上生态&#xff0c;将进一…...

使用where子句筛选记录

默认情况下,SearchCursor将返回一个表或要素类的所有行.然而在很多情况下,常常需要某些条件来限制返回行数. 操作方法: 1.打开IDLE,加载先前编写的SearchCursor.py脚本 2.添加where子句,更新SearchCursor()函数,查找记录中有<>文本的<>字段 with arcpy.da.Searc…...

基于互联网+智慧水务信息化整体解决方案

智慧水务的概述与发展背景 智慧水务是基于互联网、云计算、大数据、物联网等先进技术&#xff0c;对水务行业的工程建设、生产管理、管网运营、营销服务及企业综合管理等业务进行全面智慧化管理的创新模式。它旨在解决水务企业分散经营、管理水平不高、投资不足等问题。 水务…...

FIDL:Flutter与原生通讯的新姿势,不局限于基础数据类型

void initUser(User user); } 2、执行命令./gradlew assembleDebug&#xff0c;生成IUserServiceStub类和fidl.json文件 3、打开通道&#xff0c;向Flutter公开方法 FidlChannel.openChannel(getFlutterEngine().getDartExecutor(), new IUserServiceStub() { Override void…...

文件读写操作

写入文本文件 #include <iostream> #include <fstream>//ofstream类需要包含的头文件 using namespace std;void test01() {//1、包含头文件 fstream//2、创建流对象ofstream fout;/*3、指定打开方式&#xff1a;1.ios::out、ios::trunc 清除文件内容后打开2.ios:…...

cf1000(div.2)

Minimal Coprime最小公倍数 输入&#xff1a; 6 1 2 1 10 49 49 69 420 1 1 9982 44353 输出&#xff1a; 1 9 0 351 1 34371 代码...

【2025年数学建模美赛E题】(农业生态系统)完整解析+模型代码+论文

生态共生与数值模拟&#xff1a;生态系统模型的物种种群动态研究 摘要1Introduction1.1Problem Background1.2Restatement of the Problem1.3Our Work 2 Assumptions and Justifications3 Notations4 模型的建立与求解4.1 农业生态系统模型的建立与求解4.1.1 模型建立4.1.2求解…...

jhat命令详解

jhat 命令通常与 jmap 搭配使用&#xff0c;用来分析 jmap 生成的 dump 文件&#xff0c;jhat 内置了一个微型的HTTP/HTML服务器&#xff0c;生成 dump 的分析结果后&#xff0c;可以在浏览器中查看。 命令的使用格式如下。&#xff08;其中heap-dump-file为必填项&#xff09…...

FFmpeg(7.1版本)的基本组成

1. 前言 FFmpeg 是一个非常流行的开源项目,它提供了处理音频、视频以及其他多媒体内容的强大工具。FFmpeg 包含了大量的库,可以用来解码、编码、转码、处理和播放几乎所有类型的多媒体文件。它广泛用于视频和音频的录制、转换、流媒体传输等领域。 2. FFmpeg的组成 1. FFmp…...

DDD - 领域驱动设计分层架构:构建可演化的微服务架构

文章目录 引言1. 什么是DDD分层架构&#xff1f;1.1 DDD分层架构的演变1.2 四层架构的起源与问题1.3 依赖倒置和五层架构 2. DDD分层架构的核心层次2.1 用户接口层&#xff08;User Interface Layer&#xff09;2.2 应用层&#xff08;Application Layer&#xff09;2.3 领域层…...

大数据挖掘--两个角度理解相似度计算理论

文章目录 0 相似度计算可以转换成什么问题1 集合相似度的应用1.1 集合相似度1.1文档相似度1.2 协同过滤用户-用户协同过滤物品-物品协同过滤 1.2 文档的shingling--将文档表示成集合1.2.1 k-shingling1.2.2 基于停用词的 shingling 1.3 最小哈希签名1.4 局部敏感哈希算法&#…...

主流的AEB标准有哪些?

目录 1、AEB的技术构成与工作原理 2、典型应用场景举例 3、AEB的功能分类 4、AEB系统性能评估的关键因素 5、全球AEB技术标准概览 5.1、联合国欧洲经济委员会&#xff08;UN ECE&#xff09; 5.2、美国NHTSA法规 5.3、中国标准 5.4、印度AIS 185 5.5、澳大利亚ADR法规…...

开源智慧园区管理系统如何重塑企业管理模式与运营效率

内容概要 在如今快速发展的商业环境中&#xff0c;企业面临着日益复杂的管理挑战。开源智慧园区管理系统应运而生&#xff0c;旨在通过技术创新来应对这些挑战。它不仅是一个简单的软件工具&#xff0c;而是一个全面整合大数据、物联网和智能化功能的综合平台&#xff0c;为企…...

decison tree 决策树

熵 信息增益 信息增益描述的是在分叉过程中获得的熵减&#xff0c;信息增益即熵减。 熵减可以用来决定什么时候停止分叉&#xff0c;当熵减很小的时候你只是在不必要的增加树的深度&#xff0c;并且冒着过拟合的风险 决策树训练(构建)过程 离散值特征处理&#xff1a;One-Hot…...

Spring Data JPA 实战:构建高性能数据访问层

1 简介 1.1 Spring Data JPA 概述 1.1.1 什么是 Spring Data JPA? Spring Data JPA 是 Spring Data 项目的一部分,旨在简化对基于 JPA 的数据库访问操作。它通过提供一致的编程模型和接口,使得开发者可以更轻松地与关系型数据库进行交互,同时减少了样板代码的编写。Spri…...

11 Spark面试真题

11 Spark大厂面试真题 1. 通常来说&#xff0c;Spark与MapReduce相比&#xff0c;Spark运行效率更高。请说明效率更高来源于Spark内置的哪些机制&#xff1f;2. hadoop和spark使用场景&#xff1f;3. spark如何保证宕机迅速恢复?4. hadoop和spark的相同点和不同点&#xff1f;…...

【AI论文】VideoAuteur:迈向长叙事视频

摘要&#xff1a;近期的视频生成模型在制作持续数秒的高质量视频片段方面已展现出令人鼓舞的成果。然而&#xff0c;这些模型在生成能传达清晰且富有信息量的长序列时面临挑战&#xff0c;限制了它们支持连贯叙事的能力。在本文中&#xff0c;我们提出了一个大规模烹饪视频数据…...

循环神经网络(RNN)+pytorch实现情感分析

目录 一、背景引入 二、网络介绍 2.1 输入层 2.2 循环层 2.3 输出层 2.4 举例 2.5 深层网络 三、网络的训练 3.1 训练过程举例 1&#xff09;输出层 2&#xff09;循环层 3.2 BPTT 算法 1&#xff09;输出层 2&#xff09;循环层 3&#xff09;算法流程 四、循…...

css-background-color(transparent)

1.前言 在 CSS 中&#xff0c;background-color 属性用于设置元素的背景颜色。除了基本的颜色值&#xff08;如 red、blue 等&#xff09;和十六进制颜色值&#xff08;如 #FF0000、#0000FF 等&#xff09;&#xff0c;还有一些特殊的属性值可以用来设置背景颜色。 2.backgrou…...

【Leetcode 热题 100】32. 最长有效括号

问题背景 给你一个只包含 ‘(’ 和 ‘)’ 的字符串&#xff0c;找出最长有效&#xff08;格式正确且连续&#xff09;括号 子串 的长度。 数据约束 0 ≤ s . l e n g t h ≤ 3 1 0 4 0 \le s.length \le 3 \times 10 ^ 4 0≤s.length≤3104 s [ i ] s[i] s[i] 为 ‘(’ 或 ‘…...

Linux网络 | 网络层IP报文解析、认识网段划分与IP地址

前言&#xff1a;本节内容为网络层。 主要讲解IP协议报文字段以及分离有效载荷。 另外&#xff0c; 本节也会带领友友认识一下IP地址的划分。 那么现在废话不多说&#xff0c; 开始我们的学习吧&#xff01;&#xff01; ps&#xff1a;本节正式进入网络层喽&#xff0c; 友友们…...

Google 和 Meta 携手 FHE 应对隐私挑战

1. 引言 为什么世界上最大的广告商&#xff0c;如谷歌和 Meta 这样的超大规模公司都选择全同态加密 (FHE)。 2. 定向广告 谷歌和 Meta 是搜索引擎和社交网络领域的两大巨头&#xff0c;它们本质上从事的是同一业务——广告。它们最近公布的年度广告收入数据显示&#xff0c;…...

将markdown文件转为word文件

通义千问等大模型生成的回答多数是markdown类型的&#xff0c;需要将他们转为Word文件 一 pypandoc 介绍 1. 项目介绍 pypandoc 是一个用于 pandoc 的轻量级 Python 包装器。pandoc 是一个通用的文档转换工具&#xff0c;支持多种格式的文档转换&#xff0c;如 Markdown、HTM…...

arkts bridge使用示例

接上一篇&#xff1a;arkui-x跨平台与android java联合开发-CSDN博客 本篇讲前端arkui如何与后端其他平台进行数据交互&#xff0c;接上一篇&#xff0c;后端os平台为Android java。 arkui-x框架提供了一个独特的机制&#xff1a;bridge。 1、前端接口定义实现 定义一个bri…...

2025年大年初一篇,C#调用GPU并行计算推荐

C#调用GPU库的主要目的是利用GPU的并行计算能力&#xff0c;加速计算密集型任务&#xff0c;提高程序性能&#xff0c;支持大规模数据处理&#xff0c;优化资源利用&#xff0c;满足特定应用场景的需求&#xff0c;并提升用户体验。在需要处理大量并行数据或进行复杂计算的场景…...

python算法和数据结构刷题[2]:链表、队列、栈

链表 链表的节点定义&#xff1a; class Node():def __init__(self,item,nextNone):self.itemitemself.nextNone 删除节点&#xff1a; 删除节点前的节点的next指针指向删除节点的后一个节点 添加节点&#xff1a; 单链表 class Node():"""单链表的结点&quo…...

Baklib解析内容中台与人工智能技术带来的价值与机遇

内容概要 在数字化转型的浪潮中&#xff0c;内容中台与人工智能技术的结合为企业提供了前所未有的发展机遇。内容中台作为一种新的内容管理和生产模式&#xff0c;通过统一管理和协调各种内容资源&#xff0c;帮助企业更高效地整合内外部数据。而人工智能技术则以其强大的数据…...

Flask框架基础入门教程_ezflaskapp

pip install flaskFlask 快速入门小应用 学东西&#xff0c;得先知道我们用这个东西&#xff0c;能做出来一个什么东西。 一个最小的基于flask 的应用可能看上去像下面这个样子&#xff1a; from flask import Flask app Flask(__name__)app.route(/) def hello_world():ret…...

黑马点评 - 商铺类型缓存练习题(Redis List实现)

首先明确返回值是一个 List<ShopType> 类型那么我们修改此函数并在 TypeService 中声明 queryTypeList 方法&#xff0c;并在其实现类中实现此方法 GetMapping("list")public Result queryTypeList() {return typeService.queryTypeList();}实现此方法首先需要…...