改正这个函数 #include <stdio.h> int MaxCommonFactor(int a, int b); main() { int a, b, x=1; scanf("%d,%d",&a,&b); x = MaxCommonFactor(a, b); if (x < 0) printf("Input Error!\n"); else printf("%d\n", x); } int MaxCommonFactor(int a, int b) { int r=1; if (a <= 0 && b <= 0) return -1; do { r = a % b; b = r; a = b; } while (r != 0); return a; }
时间: 2023-06-26 20:05:06 浏览: 79
#include <stdio.h>
int MaxCommonFactor(int a, int b);
int main() {
int a, b, x=1;
scanf("%d,%d",&a,&b);
x = MaxCommonFactor(a, b);
if (x <= 0)
printf("Input Error!\n");
else
printf("%d\n", x);
return 0;
}
int MaxCommonFactor(int a, int b) {
int r=1;
if (a <= 0 || b <= 0) // 修改判断条件
return -1;
do {
r = a % b;
a = b; // 修正错误
b = r;
} while (r != 0);
return a;
}
主要的修改如下:
1.把 main 函数和 MaxCommonFactor 函数的声明分开
2.在 main 函数中加入 return 0;
3.修改了 if 语句中的判断条件
4.在 MaxCommonFactor 函数中修正了 a 和 b 的赋值顺序。
相关问题
#include <stdio.h> int main() { unsigned int a
`#include <stdio.h>` 是 C 语言中用于预定义标准输入输出库的头文件,包含了基本的文件操作函数,如 `printf()` 和 `scanf()` 等。这段代码是一个简单的程序结构,`main()` 函数是 C 语言程序的入口点,所有的执行都会从这里开始。
在这个例子中:
- `unsigned int a` 定义了一个无符号整型变量 `a`,无符号表示数值不会自动转换成负数。
- `int main()` 表示主函数,它的返回值类型默认是整型,如果需要可以显式声明为 `int main() { ... }`。
- `{}` 包含了程序的主要代码,这里是空的,这意味着这个程序实际上没有做任何操作,如果没有更多的语句,它会直接结束。
如果你想了解如何编写更复杂的程序,比如读取用户输入并处理,可以用 `scanf()` 进行数据输入:
```c
#include <stdio.h>
int main() {
unsigned int a;
printf("请输入一个无符号整数: ");
scanf("%u", &a);
printf("你输入的是: %u\n", a);
return 0; // 常规的结束程序,表示成功退出
}
#include <stdio.h> #include <math.h> int main() { int a
#include <stdio.h> 是一个C语言的头文件,它包含了一些输入输出函数的声明,比如printf和scanf等。而#include <math.h> 是一个数学库的头文件,它包含了一些数学函数的声明,比如sqrt和sin等。
在你给出的代码中,int main() 是程序的入口函数,它表示程序从这里开始执行。在main函数中,定义了一个整型变量a,但是没有给它赋初值。
如果你想要使用printf函数来输出一些信息,可以在main函数中添加代码,比如:
int main()
{
int a = 10;
printf("a的值是:%d\n", a);
return 0;
}
这样就可以输出a的值为10。你可以根据需要修改a的值和输出的格式。
阅读全文