main(int a, int b, int c) int m; m =a; if(b>m) m = b: if(c >m) m=c: return (m),的代码走查
时间: 2023-06-24 07:07:13 浏览: 56
以下是代码走查:
1. 声明了一个整型变量 `m`,并将 `a` 的值赋给它。
2. 判断 `b` 是否大于 `m`,如果是,则将 `m` 的值更新为 `b`。
3. 判断 `c` 是否大于 `m`,如果是,则将 `m` 的值更新为 `c`。
4. 返回 `m` 的值。
对于代码本身,需要注意以下几点:
1. 函数的返回类型应该明确声明为 `int`。
2. 在 `if` 语句中使用了冒号 `:`,这应该是笔误,应该使用分号 `;`。
3. 函数的参数没有使用,可以在函数声明中省略参数名。
4. 变量 `m` 的初始化应该放在声明时进行,即 `int m = a;`。
5. 对于代码阅读的可读性,可以考虑在 `if` 语句中添加花括号。
修正后的代码如下:
```
int main(int, int, int)
{
int a, b, c;
int m = a;
if (b > m) {
m = b;
}
if (c > m) {
m = c;
}
return m;
}
```
相关问题
main(int a, int b, int c) {int m; m =a; if(b>m) m = b; if(c >m) m=c;return (m);}的代码走查,包括文档的使用说明或手册,扩展:求n个数的最大值
走查结果:
1. 函数参数命名不够明确,建议改为main(int num1, int num2, int num3)
2. 函数内部变量命名不够明确,建议改为max_num
3. 缺少注释说明代码的功能和参数含义,建议添加注释以提高代码可读性和可维护性
4. 函数缺少输入参数的校验,建议添加输入参数的合法性判断
5. 函数中的if语句没有使用花括号包含,建议使用花括号以增加代码的可读性和可维护性
6. 函数返回类型应该改为int类型
7. 函数名建议更改为max_num_of_three,更加准确地描述函数的功能
使用说明:
1. 将代码复制到编辑器中,并保存为.c文件
2. 编译代码并生成可执行文件
3. 运行可执行文件,输入三个整数,程序将返回这三个数的最大值
扩展部分:求n个数的最大值
代码如下:
```c
#include<stdio.h>
int max_num_of_n(int num[], int n)
{
int i, max_num;
max_num = num[0];
for(i=1; i<n; i++)
{
if(num[i] > max_num)
{
max_num = num[i];
}
}
return max_num;
}
int main()
{
int n, i;
printf("请输入要比较的整数个数n:");
scanf("%d", &n);
int num[n];
printf("请输入%d个整数:", n);
for(i=0; i<n; i++)
{
scanf("%d", &num[i]);
}
int max_num = max_num_of_n(num, n);
printf("这%d个数中的最大值为%d\n", n, max_num);
return 0;
}
```
使用说明:
1. 将代码复制到编辑器中,并保存为.c文件
2. 编译代码并生成可执行文件
3. 运行可执行文件,输入要比较的整数个数,以及这些整数,程序将返回这些数的最大值
#include <iostream> #include <math.h> using namespace std; void max_min(int a, int b, int c) { int m; if (a > b) { m = a; a = b; b = m; } if (a > c) { m = a; a = c; c = m; } if (b > c) { m = b; b = c; c = m; } } int main() { int t; int a, b ,c; cin >> t; for (int i = 1; i <= t; i ++) { cin >> a >> b >> c; max_min(a, b, c); if (a == b && b == c) cout << "equilateral" << endl; else if (pow (c, 2) == pow (a, 2) + pow (b, 2)) cout <<"right" << endl; else if (c >= a + b) cout << "error" << endl; else cout << "normal" << endl; } return 0; }为什么我的max_min函数不管用
你的max_min函数没有返回值,也没有改变a,b,c的值,因此在main函数中使用max_min函数并不会产生任何影响。你需要修改max_min函数,让它返回三个参数的最大值和最小值,然后在main函数中使用这些返回值来判断三角形的类型。以下是修改后的代码:
```c++
#include <iostream>
#include <math.h>
using namespace std;
void max_min(int a, int b, int c, int& max_val, int& min_val) {
int m;
if (a > b)
{
m = a;
a = b;
b = m;
}
if (a > c)
{
m = a;
a = c;
c = m;
}
if (b > c)
{
m = b;
b = c;
c = m;
}
max_val = c;
min_val = a;
}
int main() {
int t;
int a, b, c;
cin >> t;
for (int i = 1; i <= t; i ++)
{
cin >> a >> b >> c;
int max_val, min_val;
max_min(a, b, c, max_val, min_val);
if (a == b && b == c)
cout << "equilateral" << endl;
else if (pow(c, 2) == pow(a, 2) + pow(b, 2))
cout << "right" << endl;
else if (c >= a + b)
cout << "error" << endl;
else
cout << "normal" << endl;
}
return 0;
}
```