c语言mooc最大公约数,输入两个整数m,n,用递归算法实现计算两个数的最大公约数
时间: 2023-08-20 13:02:07 浏览: 59
C语言mooc最大公约数的递归算法如下:
```c
#include <stdio.h>
int gcd(int m, int n) {
if (n == 0) {
return m;
} else {
return gcd(n, m % n);
}
}
int main() {
int m, n;
printf("请输入两个整数:");
scanf("%d%d", &m, &n);
int result = gcd(m, n);
printf("最大公约数为:%d\n", result);
return 0;
}
```
首先,在主函数中定义两个变量m和n,用来接收输入的两个整数。
接下来,定义递归函数gcd,它的参数m和n表示要计算的两个数。如果第二个数n等于0,则返回第一个数m作为最大公约数(辗转相除法的终止条件);否则,将第二个数n和第一个数m取模后的结果作为新的参数传入递归函数gcd中,继续求解最大公约数。
在主函数中,调用递归函数gcd,并将计算结果存储在result变量中。最后,通过printf函数输出最大公约数的值。
以上就是使用递归算法实现计算两个数最大公约数的C语言mooc。
相关问题
计算圆的面积的c语言程序mooc
#include <stdio.h>
// 计算圆的面积函数,参数是圆的半径
double calculateCircleArea(double radius) {
// 定义圆周率
const double PI = 3.1415926;
// 计算圆的面积
double area = PI * radius * radius;
return area;
}
int main() {
double radius;
// 提示用户输入圆的半径
printf("请输入圆的半径:");
scanf("%lf", &radius);
// 调用计算圆的面积的函数
double circleArea = calculateCircleArea(radius);
// 打印结果
printf("圆的面积为:%lf", circleArea);
return 0;
}
1.统计MOOC证书:学生修读程序设计MOOC,60分及以上获得合格证书,85分及以上获得优秀证书,不到60分则没有证书。输入一个非负整数n,再输入n个学生的MOOC成绩,统计优秀、合格证书的数量,以及没有获得证书的数量。用C语言编写
以下是用C语言编写的程序:
```c
#include <stdio.h>
int main() {
int n, score, qualified = 0, excellent = 0, no_certificate = 0;
printf("请输入学生人数n:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
printf("请输入第%d个学生的成绩:", i);
scanf("%d", &score);
if (score >= 85) { // 优秀证书
excellent++;
} else if (score >= 60) { // 合格证书
qualified++;
} else { // 没有证书
no_certificate++;
}
}
printf("获得优秀证书的学生数量:%d\n", excellent);
printf("获得合格证书的学生数量:%d\n", qualified);
printf("没有获得证书的学生数量:%d\n", no_certificate);
return 0;
}
```
程序中使用了循环语句for来输入n个学生的成绩,并根据成绩统计优秀、合格证书的数量,以及没有获得证书的数量。最后输出统计结果。