用C语言编写一个多功能计算器,支持以下基本运算:用户输入一些列整数,能判断其中最大值,最小值,其中素数个数,可以求其中某个值的公约数,最小公倍数,能依次显示输入值,也能逆序显示
时间: 2025-01-25 10:12:35 浏览: 28
在C语言中编写一个多功能计算器涉及到多种功能,下面是一个简化的示例程序,展示如何实现部分功能:
#include <stdio.h>
#include <stdbool.h> // 使用布尔类型
// 判断是否为素数
bool is_prime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return false;
}
return true;
}
// 获取两个数的最大公约数
int gcd(int a, int b) {
while (b != 0) {
int temp = a % b;
a = b;
b = temp;
}
return a;
}
// 获取两个数的最小公倍数
int lcm(int a, int b) {
int lcm_value = (a * b) / gcd(a, b);
return lcm_value;
}
int main() {
int arr[100], size = 0;
printf("Enter numbers (separated by space): ");
for (int i = 0; i < 100 && scanf("%d", &arr[size]); size++) {
if (size > 0) {
// 显示当前输入
printf("%d ", arr[size - 1]);
}
}
int max_val = arr[0];
int min_val = arr[0];
int prime_count = 0;
for (int i = 0; i < size; i++) {
max_val = (arr[i] > max_val) ? arr[i] : max_val;
min_val = (arr[i] < min_val) ? arr[i] : min_val;
if (is_prime(arr[i])) {
prime_count++;
}
}
printf("\nMax Value: %d\nMin Value: %d\nPrime Count: %d\n", max_val, min_val, prime_count);
// 逆序显示数组
for (int i = size - 1; i >= 0; i--) {
printf("Reversed: %d ", arr[i]);
}
return 0;
}
相关推荐












