输入6个成绩,冒泡排序,求平均分,再找出大于平均分的分数,最后将成绩中的偶数显示出来...

本文介绍了一个使用C语言实现的冒泡排序算法,用于对输入的六个成绩进行排序,并计算平均分。此外,还展示了如何找出大于平均分的成绩及成绩中的偶数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
============================================================================
Name : bubble_sort.c
Author : duanqibo
Version :
Copyright : Your copyright notice
Description : 输入6个成绩,冒泡排序,求平均分,再找出大于平均分的分数,最后将成绩中的偶数显示出来
============================================================================
*/

#include <stdio.h>
#include <stdlib.h>
//实现排序
void sort(int s[],int n)
{
int i,j,temp;
for(i=0;i<n;i++)
{
for(j=0;j<n-i-1;j++)
{
if(s[j]>s[j+1])
{
temp=s[j];
s[j]=s[j+1];
s[j+1]=temp;
}
}
}
}


int main(void) {
int i;
int score[6];
setbuf(stdout,NULL);
printf("请输入6个成绩:");
for(i=0;i<6;i++) //循环输入6个成绩
{
scanf("%d",&score[i]);
}
//排序
sort(score,6);

printf("\n排序结果:\n");
for(i=0;i<6;i++) //循环输入6个成绩
{
printf("%3d",score[i]);
}

//查找偶数
printf("\n成绩中的偶数是:\n");
for(i=0;i<6;i++)
{
if(score[i]%2==0)
printf("%3d",score[i]);
}

//找出大于平均分的分数
int sum=0,avg=0;
for(i=0;i<6;i++)
{
sum=sum+score[i];
}
avg=sum/6;
printf("\n平均分:\n");
printf("%d",avg);
printf("\n大于平均分的分数有:\n");
for(i=0;i<6;i++)
{
if(score[i]>avg)
printf("%3d",score[i]);
}
return 1;
}

转载于:https://www.cnblogs.com/duanqibo/p/11105082.html

在C语言中,我们可以使用冒泡排序算法对一组成绩组进行降序排列,然后计算平均分,并统计高于、低于及等于平均分成绩量。以下是简单的步骤: 1. 定义一个函 `bubble_sort` 来实现冒泡排序,它接受一个整型组和组长度作为参。 2. 另外,编写一个函 `calculate_average` 计算给定组的平均分。 3. 主函中,首先读取15个分数存入组,然后调用排序函平均分。 4. 最后,遍历排序后的组,统计高于平均分、低于平均分和等于平均分成绩。 以下是一个简化的示例代码: ```c #include <stdio.h> void bubble_sort(int arr[], int n) { for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - 1 - i; j++) { if (arr[j] > arr[j + 1]) { // 交换元素 int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } } double calculate_average(int arr[], int n) { double sum = 0; for (int i = 0; i < n; i++) sum += arr[i]; return sum / n; } int main() { int scores[15]; // 读取15个成绩... for (int i = 0; i < 15; i++) scanf("%d", &scores[i]); bubble_sort(scores, 15); double avg = calculate_average(scores, 15); int above_avg = 0, below_avg = 0, equal_avg = 0; for (int i = 0; i < 15; i++) { if (scores[i] > avg) above_avg++; else if (scores[i] < avg) below_avg++; else equal_avg++; } printf("Sorted array:\n"); // 输出成绩... printf("\nAverage score: %.2f\n", avg); printf("Scores above average: %d\n", above_avg); printf("Scores below average: %d\n", below_avg); printf("Scores equal to average: %d\n", equal_avg); return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值