C语言程序设计 随机出十道题有加减乘除求出结果求平均值选出最大值和最小值由小到大排列和由大到小排列(简单版)
时间: 2024-03-05 21:47:42 浏览: 16
好的,以下是一个简单版的程序,能够随机产生十道题目,包括加、减、乘、除四则运算,并求出这十道题目的结果的平均值,选出其中的最大值和最小值,并将它们按照从小到大和从大到小的顺序排列:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int i, num1, num2, result, sum = 0;
int max = 0, min = 100000; // 初始化最大值最小值
int arr[10];
srand(time(NULL)); // 初始化随机数生成器
for (i = 0; i < 10; i++) {
num1 = rand() % 100; // 生成 0~99 的随机数
num2 = rand() % 100;
switch (rand() % 4) { // 生成 0~3 的随机数,分别代表加减乘除
case 0:
result = num1 + num2;
break;
case 1:
result = num1 - num2;
break;
case 2:
result = num1 * num2;
break;
case 3:
result = num1 / num2;
break;
}
arr[i] = result;
sum += result;
if (result > max) max = result;
if (result < min) min = result;
}
printf("平均值为:%d\n", sum / 10);
printf("最大值为:%d\n", max);
printf("最小值为:%d\n", min);
// 从小到大排序
for (i = 0; i < 9; i++) {
int j;
for (j = 0; j < 9 - i; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
printf("从小到大排序:");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 从大到小排序
for (i = 0; i < 9; i++) {
int j;
for (j = 0; j < 9 - i; j++) {
if (arr[j] < arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
printf("从大到小排序:");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
这个程序和前面的程序类似,不同的是它使用了简单的冒泡排序来实现从小到大和从大到小的排序。