南邮编程在线编程题七:求平均值
来源:互联网 发布:windows无法打开打印机 编辑:程序博客网 时间:2024/04/29 03:32
题目转自南邮编程在线:njupt.housecode.cc
编程从键盘上输入20个整数,求去掉最大值和最小值以后那些元素的平均值。
说明:(1)scanf之前无需用printf给提示信息。
测试用例的输入及输出结果如下:
测试用例:输入
测试用例:输出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20< 回车 >
count=18,average=10.500000
90 80 70 100 50 60 70 100 75 85 85 90 80 70 65 50 60 70 80 90< 回车 >
count=16,average=76.250000
代码如下:
#include <stdio.h>int main(){int i, j, k, sum = 0, count = 0, min = 1, max = 1;int a[20] = {0};double average = 0.0;for(i = 0; i < 20; i++){ //用数组存放输入的20个整数 scanf("%d", &a[i]);}count = i;for(i = 0; i < 20; i++){ //冒泡排序法按从小到大的顺序对20个整数进行排列 for(j = 0; j < 20-i-1; j++){if(a[j]>a[j+1]){k = a[j];a[j] = a[j+1];a[j+1] = k;}}}for(i = 0; a[i] == a[i+1]; i++){ //找出相同的最小值个数 min++;}for(i = 19; a[i] == a[i-1]; i--){ //找出相同的最大值个数 max++;}count = count - min - max;for(i = min; i < count+min; i++){sum += a[i];}average = sum*1.0 / count;printf("count=%d,average=%lf", count, average);return 0;}
本题可使用冒泡排序法对所输入的数组进行排序后再做计算
0 0
- 南邮编程在线编程题七:求平均值
- 南邮编程在线编程题十六:求平均值和最大值
- 南邮编程在线编程题二:输入输出练习
- 南邮编程在线编程题十三:最大公约数
- 南邮编程在线编程题六:数列求和
- 南邮编程在线编程题十八:进制转换
- 南邮编程在线编程题十九:字符串逆置
- 南邮编程在线编程题十四:三角形面积
- 南邮编程在线编程题十五:带参宏定义
- 南邮编程在线编程题二十:字符串转换
- 南邮编程在线编程题一:sizeof测试字节数
- 南邮编程在线编程题三: 用if语句求解分段函数
- 南邮编程在线编程题四:打印每月有几天
- 南邮编程在线编程题五:输出所有的3位数字的质数
- 南邮编程在线编程题八:用数组实现Fibonacci数列
- 南邮编程在线编程题九:删除所有相同值的元素
- 南邮编程在线编程题十:动态一维数组的定义与实现
- 南邮编程在线编程题十二:八进制转换为二进制
- POJ 3189 最大流 枚举
- 资源
- Using HDInsight tools to optimize hive script
- mac 下从设置启动mysql 失败,“Warning:The /usr/local/mysql/data directory is not owned by the 'mysql' or '_mys
- Mysql数据库运行过程中突然崩溃:The server quit without updating PID file
- 南邮编程在线编程题七:求平均值
- 详谈C++中数组作为函数参数
- Android APK加壳技术方案【1】
- mooc-linux内核课-1
- Teradata Table Type
- Android APK加壳技术方案【2】
- android sdk 下的JSON解析
- tips for configuring your .vimrc
- 部分面试题