从键盘输入10个数组元素的值,将它们按大到大的顺序重新排序后输出(输出时每个元素宽度为4) 【测试用例】 输入: 5 1 7 6 12 24 8 11 98 10 输出: 98 24 12 11 10 8 7 6 5 1
时间: 2024-10-24 17:13:33 浏览: 97
这是一个简单的Python程序示例,用于实现这个功能:
```python
def input_sort():
# 输入10个数组元素
arr = []
for i in range(10):
num = int(input(f"请输入第{i+1}个数:"))
arr.append(num)
# 对数组进行排序
arr.sort(reverse=True)
# 按照指定宽度输出
formatted_output = ["{:<4}".format(i) for i in arr]
print("\n".join(formatted_output))
# 运行函数
input_sort()
```
在这个程序中,我们首先创建一个空列表`arr`,然后通过循环获取用户输入的10个整数,并添加到列表中。接着使用`sort()`函数对数组进行降序排序。最后,我们将排序后的数值转换为字符串,利用`"{:<4}"`这种格式化方式保证每个数字占用四个字符宽度,并使用`\n`.join()连接成多行输出。
相关问题
,河北工程大学计算机大类共招生210人,第一学期期末进行了“C语言程序”的期末考试。从键盘上输入学生成绩,按从大到小的顺序将成绩排序并输出。输出时每名学生的成绩最小宽度为6,保留1位小数,每行输出10
在河北工程大学计算机大类的"C语言程序"期末考试中,如果需要设计这样一个功能,学生可以编写一个简单的控制台应用程序来实现。这里是一个基本的伪代码步骤:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENTS 210
#define DISPLAY_PER_LINE 10
void input_scores(int scores[], int count) {
for (int i = 0; i < count; i++) {
printf("请输入第 %d 学生的成绩:", i+1);
scanf("%f", &scores[i]);
}
}
void sort_scores_descending(float scores[]) {
int n = count;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (scores[j] < scores[j + 1]) {
float temp = scores[j];
scores[j] = scores[j + 1];
scores[j + 1] = temp;
}
}
}
}
void display_scores(float scores[], int count) {
for (int i = 0; i <= count; i += DISPLAY_PER_LINE) {
for (int j = i; j < i + DISPLAY_PER_LINE && j < count; j++) {
printf("%.1f ", scores[j]);
}
printf("\n");
}
// 输出最后一个非空行,可能不足DISPLAY_PER_LINE个元素
if (i < count) {
for (int j = i; j < count; j++) {
printf("%.1f ", scores[j]);
}
printf("\n");
}
}
int main() {
float scores[MAX_STUDENTS];
int count = 0;
input_scores(scores, MAX_STUDENTS);
sort_scores_descending(scores);
display_scores(scores, count);
return 0;
}
```
这个程序首先获取所有学生的成绩,然后对成绩数组进行降序排序,最后按照指定的每行显示10个分数的规则输出。
阅读全文