c语言任意输入20个互不相等的整数,编写代码实现以下功能:1.求20个数的平均数并输出;2.将20个数中的奇数全部输出,没有奇数提示“无奇数”;3.将20个数由大到小排序并输出。
时间: 2024-10-16 21:21:05 浏览: 32
在C语言中,你可以通过以下步骤来实现这个功能:
```c
#include <stdio.h>
int main() {
int arr[20], i = 0;
// 输入20个互不相等的整数
printf("请输入20个互不相等的整数:\n");
for (i = 0; i < 20; i++) {
scanf("%d", &arr[i]);
while (i > 0 && arr[i] < arr[i - 1]) { // 防止重复输入
printf("已输入过的数值,请重新输入第%d个数:", i);
scanf("%d", &arr[i]);
}
}
// 计算平均数并输出
float sum = 0;
for (i = 0; i < 20; i++) {
sum += arr[i];
}
float avg = sum / 20;
printf("20个数的平均值为 %.2f\n", avg);
// 检查奇数并输出
int has_odd = 0;
for (i = 0; i < 20; i++) {
if (arr[i] % 2 != 0) {
printf("%d ", arr[i]);
has_odd = 1;
}
}
if (!has_odd) {
printf("\n无奇数\n");
}
// 将数组升序排列
for (i = 0; i < 19; i++) {
for (int j = 0; j < 19 - i; j++) {
if (arr[j] < arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
// 输出排序后的数组
printf("\n排序后的20个数从大到小:");
for (i = 0; i < 20; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
阅读全文