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

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版 代码逻辑总结…...

力扣116. 填充每个节点的下一个右侧节点指针

Problem: 116. 填充每个节点的下一个右侧节点指针 文章目录 题目描述思路复杂度Code 题目描述 思路 遍历思想(利用二叉树的先序遍历) 本题目的难点在于对于不同父节点的邻接问题因此我们可以抽象将两两节点为一组&#xff08;不同父节点的两个孩子节点也抽象为一组&#xff09…...

寒武纪MLU370部署deepseek r1

文章目录 前言一、平台环境准备二、模型下载三、环境安装四、代码修改五、运行效果 前言 DeepSeek-R1拥有卓越的性能&#xff0c;在数学、代码和推理任务上可与OpenAI o1媲美。其采用的大规模强化学习技术&#xff0c;仅需少量标注数据即可显著提升模型性能&#xff0c;为大模…...

Python NumPy(10):NumPy 统计函数

1 NumPy 统计函数 NumPy 提供了很多统计函数&#xff0c;用于从数组中查找最小元素&#xff0c;最大元素&#xff0c;百分位标准差和方差等。 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&#xff09;方法一&#xff1a;2&#xff09;方法二&#xff1a;2. doxygen注释自动生成插件3. doxygen注释基本语法4. doxygen的生成…...

【字符串两大注意事项】

表达字符串的方式 1.双引号&#xff1a;"hello world" 2.字符指针&#xff1a;char* ptr "hello world" 3.字符数组&#xff1a;char arr[] "hello world"辨析 项目表示方式代表含义内存分布1“hello world”字符串字面量字符串常量就是数据…...

jmap命令详解

jmap 用于生成 heap dump 文件&#xff0c;如果不使用这个命令&#xff0c;还可以使用-XX:HeapDumpOnOutOfMemoryError参数来让虚拟机出现 OOM 的时候自动生成 dump 文件。 jmap 不仅可以生成 dump 文件&#xff0c;还可以查询finalize执行队列、Java 堆的详细信息&#xff0c…...

微机原理与接口技术期末大作业——4位抢答器仿真

在微机原理与接口技术的学习旅程中&#xff0c;期末大作业成为了检验知识掌握程度与实践能力的关键环节。本次我选择设计并仿真一个 4 位抢答器系统&#xff0c;通过这个项目&#xff0c;深入探索 8086CPU 及其接口技术的实际应用。附完整压缩包下载。 一、系统设计思路 &…...

FOC核心原理的C语言实现

概述 应用FOC算法&#xff0c;比如无人机、电动汽车或工业电机控制。因此&#xff0c;除了理论&#xff0c;还需要提供实用的实现步骤、常见问题及解决方案&#xff0c;比如如何获取电机的位置信息&#xff08;编码器或传感器&#xff09;&#xff0c;如何处理电流采样&#x…...

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

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

【信息系统项目管理师-选择真题】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 大数据毕设 机器学习

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;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实现自动化研究

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

深度学习的应用

目录 一、机器视觉 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一条流水灯&#xff0c;谁不喜欢呢&#xff1f; 所用单片机&#xff1a;STC15W204S &#xff08;也可以用其他1T单片机&#xff0c;例如&#xff0c;S…...

DFS(深度优先搜索)与回溯算法详解

DFS&#xff08;深度优先搜索&#xff09;与回溯算法详解 一、DFS 基础 1. 什么是DFS&#xff1f; 深度优先搜索&#xff08;Depth-First Search&#xff0c;DFS&#xff09;是一种用于遍历或搜索树或图的算法。其核心思想是&#xff1a; 一条路走到黑&#xff1a;从起点出发…...

服务器虚拟化技术详解与实战:架构、部署与优化

&#x1f4dd;个人主页&#x1f339;&#xff1a;一ge科研小菜鸡-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 引言 在现代 IT 基础架构中&#xff0c;服务器虚拟化已成为提高资源利用率、降低运维成本、提升系统灵活性的重要手段。通过服务…...

数据分析系列--②RapidMiner导入数据和存储过程

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

CSS 背景与边框:从基础到高级应用

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

国内外人工智能AI工具网站大全(一键收藏,应有尽有)

本文由 大侠(AhcaoZhu)原创&#xff0c;转载请声明。 链接: https://blog.csdn.net/Ahcao2008 国内外人工智能AI工具网站大全&#xff08;一键收藏&#xff0c;应有尽有&#xff09; 摘要一、AI写作工具二、AI图像工具2.1、常用AI图像工具2.2、AI图片插画生成2.3、AI图片背景移…...

Java中初步使用websocket(springBoot版本)

一、什么是websocket WebSocket是一种在Web应用程序中实现实时双向通信的协议。它为浏览器和服务器之间提供了一种持久连接&#xff0c;在一个连接上可以双向传输数据。相比传统的HTTP协议&#xff0c;WebSocket具有更低的延迟和更高的效率。 WebSocket使用了类似于握手的方式来…...

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

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

K8S ReplicaSet 控制器

一、理论介绍 今天我们来实验 ReplicaSet 控制器&#xff08;也叫工作负载&#xff09;。官网描述如下&#xff1a; 1、是什么&#xff1f; ReplicaSet 副本集&#xff0c; 维护一组稳定的副本 Pod 集合。 2、为什么需要&#xff1f; 解决 pod 被删除了&#xff0c;不能自我恢…...

FreeRTOS学习 --- 任务调度

开启任务调度器 作用&#xff1a;用于启动任务调度器&#xff0c;任务调度器启动后&#xff0c; FreeRTOS 便会开始进行任务调度 该函数内部实现&#xff0c;如下&#xff1a; 1、创建空闲任务&#xff08;优先级最低&#xff09; 2、如果使能软件定时器&#xff0c;则创建定…...

【小鱼闪闪】单片机开发工具——米思齐软件下载安装(图文)

浏览器打开网址 mixly.org, 在软件平台选择mixly离线版。 最新版本为3.0&#xff0c;会支持audinio&#xff0c; ESP32、ESP8266 &#xff0c; 可以选择下载安装器或者完整版。 这里选择下载安装器&#xff0c;下载后运行“一键更新.bat”&#xff0c;即可自动下载最新版本的M…...

MFC开发,给对话框添加垂直滚动条并解决鼠标滚动响应的问题

无论在使用QT或者MFC进行界面开发时&#xff0c;都会出现在一个对话框里面存在好多的选项&#xff0c;导致对话框变得非常长或者非常大&#xff0c;就会显现的不美观&#xff0c;在这种情况下通常是添加一个页面的滚动条来解决这个问题&#xff0c;下面我们就来介绍给MFC的对话…...

动态规划DP 最长上升子序列模型 导弹防御模型(题目分析+C++完整代码实现)

概览检索 动态规划DP 最长上升子序列模型 导弹防御系统 原题链接 AcWiing 187. 导弹防御系统 题目描述 为了对抗附近恶意国家的威胁&#xff0c;R国更新了他们的导弹防御系统。 一套防御系统的导弹拦截高度要么一直 严格单调 上升要么一直 严格单调 下降。 例如&#xff0…...

LevelDB 源码阅读:写入键值的工程实现和优化细节

读、写键值是 KV 数据库中最重要的两个操作&#xff0c;LevelDB 中提供了一个 Put 接口&#xff0c;用于写入键值对。使用方法很简单&#xff1a; leveldb::Status status leveldb::DB::Open(options, "./db", &db); status db->Put(leveldb::WriteOptions…...

药店药品销售管理系统的设计与实现

标题:药店药品销售管理系统的设计与实现 内容:1.摘要 摘要&#xff1a;本文介绍了药店药品销售管理系统的设计与实现。该系统旨在提高药店的运营效率和管理水平&#xff0c;通过信息化手段实现药品销售、库存管理、财务管理等功能。本文详细阐述了系统的需求分析、设计思路、技…...