C语言编程用试探法(要求从大到小试探)实现函数gcd(m,n),其功能为求解正整数m、n的最大公约数.
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/06/12 21:49:15
C语言编程用试探法(要求从大到小试探)实现函数gcd(m,n),其功能为求解正整数m、n的最大公约数.
具体要求:【输入】输入由键盘输入,只有1行.这一行有两个正整数m,n,代表待求最大公约数的两个数,输入格式为“[m],[n]”【输出】输出共1行,为m和n的最大公约数,输出格式为“The result is [所求最大公约数]!”【数据范围】保证100%的数据在int范围内.跪谢大神们.
具体要求:【输入】输入由键盘输入,只有1行.这一行有两个正整数m,n,代表待求最大公约数的两个数,输入格式为“[m],[n]”【输出】输出共1行,为m和n的最大公约数,输出格式为“The result is [所求最大公约数]!”【数据范围】保证100%的数据在int范围内.跪谢大神们.
#include<stdio.h>
void gcd(int m, int n) {
int temp = m, i, max;
if(temp > n) {
temp = n;
}
max = temp;
for(i=temp; i>=1; i--) {
if(m%max==0 && n%max==0) {
printf("The result is [%d]", max);
return;
}
max--;
}
}
int main() {
int M, N;
scanf("[%d],[%d]", &M, &N);
gcd(M, N);
return 0;
}
再问: 有编译错误 In function ‘int gcd(int, int)’: 16: error: return-statement with no value, in function returning ‘int’ 20: warning: no return statement in function returning non-void
再答: #include<stdio.h>
int gcd(int m, int n) {
int temp = m, i, max;
if(temp > n) {
temp = n;
}
max = temp;
for(i=temp; i>=1; i--) {
if(m%max==0 && n%max==0) {
printf("The result is [%d]", max);
return 0;
}
max--;
}
}
int main() {
int M, N;
scanf("[%d],[%d]", &M, &N);
gcd(M, N);
return 0;
}那改成这样再试试
再问: 显示错误答案。编译器输出 In function ‘int gcd(int, int)’: 16: warning: control reaches end of non-void function
再答: 你在gcd函数末尾添加一个return 0
再问: 在哪行加??
再答: #include int gcd(int m, int n) { int temp = m, i, max; if(temp > n) { temp = n; } max = temp; for(i=temp; i>=1; i--) { if(m%max==0 && n%max==0) { printf("The result is [%d]", max); return 0; } max--; } return 0; } int main() { int M, N; scanf("[%d],[%d]", &M, &N); gcd(M, N); return 0; }
void gcd(int m, int n) {
int temp = m, i, max;
if(temp > n) {
temp = n;
}
max = temp;
for(i=temp; i>=1; i--) {
if(m%max==0 && n%max==0) {
printf("The result is [%d]", max);
return;
}
max--;
}
}
int main() {
int M, N;
scanf("[%d],[%d]", &M, &N);
gcd(M, N);
return 0;
}
再问: 有编译错误 In function ‘int gcd(int, int)’: 16: error: return-statement with no value, in function returning ‘int’ 20: warning: no return statement in function returning non-void
再答: #include<stdio.h>
int gcd(int m, int n) {
int temp = m, i, max;
if(temp > n) {
temp = n;
}
max = temp;
for(i=temp; i>=1; i--) {
if(m%max==0 && n%max==0) {
printf("The result is [%d]", max);
return 0;
}
max--;
}
}
int main() {
int M, N;
scanf("[%d],[%d]", &M, &N);
gcd(M, N);
return 0;
}那改成这样再试试
再问: 显示错误答案。编译器输出 In function ‘int gcd(int, int)’: 16: warning: control reaches end of non-void function
再答: 你在gcd函数末尾添加一个return 0
再问: 在哪行加??
再答: #include int gcd(int m, int n) { int temp = m, i, max; if(temp > n) { temp = n; } max = temp; for(i=temp; i>=1; i--) { if(m%max==0 && n%max==0) { printf("The result is [%d]", max); return 0; } max--; } return 0; } int main() { int M, N; scanf("[%d],[%d]", &M, &N); gcd(M, N); return 0; }
C语言编程用试探法(要求从大到小试探)实现函数gcd(m,n),其功能为求解正整数m、n的最大公约数.
C语言编程用辗转相除法(不使用递归)实现函数gcd(m,n),其功能为求解正整数m、n的最大公约数.
编程用辗转相除法(不使用递归)实现函数gcd(m,n),其功能为求解正整数m、n的最大公约数.
c 语言编程:从键盘上任意输入两个正整数m,n求其最大公约数和最小公倍数
设计一个C语言的程序能实现输入两个正整数m,n能求出其最大公约数和最小公倍数
C语言编程:输入两个正整数m和n,求它们的最大公约数.
编程C语言:输入两个正整数m,n,计算它们的最大公约数和最小公倍数
输入两个正整数m和n,求其最大公约数和最小公倍数.用C语言编程
求两个m.n的最大公约数和最小公倍数 m*n\最大公约数=最小公倍数 c语言编程
C语言编程题C语言编程:输入两个正整数m和n,求其最大公约数和最小公倍数
C语言编程:输入两个正整数m和n,求其最大公约数和最小公倍数,
c语言编程:输入两个正整数m和n,求其最大公约数和最小公倍数.