C语言:统计整型变量m中各数字出现的次数,-去掉一个最高分和一个最低分,然后求平均值,(注意最低分和最高分可能有多个数并列)
//统计整型变量m中各数字出现的次数,并存放在数组a中,其中,a[0]存放0出现的次数,a[1]存放1出现的次数。
#include <stdio.h>
void fun( int m, int a[])
{ int i;
for (i=; i<; i++)
/**********found**********/
a[i] = ;
while (m > )
{
/**********found**********/
i = m%;
a[i]++;
/**********found**********/
m = m/;
}
}
void main()
{ int m, a[],i;
printf("请输入一个整数 : "); scanf("%d", &m);
fun(m, a);
for (i=; i<; i++) printf("%d,",a[i]); printf("\n");
}
//将一组得分中,去掉一个最高分和一个最低分,然后求平均值,并通过函数返回,函数形参a所指存放得分的数组,形参n存放得分个数。
#include <stdio.h>
void NONO();
double fun(double a[ ] , int n)
{
double sum = ;
double min, max;
min = max = a[];
int c=,b=;
for (int i = ; i < n; i++)
{
if (a[i] > max) max = a[i];
if (a[i] < min) min = a[i];
}
for (int j = ; j < n; j++)
{
if (a[j] == max && c == ) { c++; continue; }//切记这里,需要设置标志位,因为最大数和最小数有可能有多个并列。
if (a[j] == min && b == ) { b++; continue; }
sum += a[j] / (n - );
}
return sum; } void main()
{ double b[], r; int i;
printf("输入10个分数放入b数组中 : ");
for (i=; i<; i++) scanf("%lf",&b[i]);
printf("输入的10个分数是 : ");
for (i=; i<; i++) printf("%4.1lf ",b[i]); printf("\n");
r = fun(b, );
printf("去掉最高分和最低分后的平均分 : %f\n", r );
NONO();
} void NONO()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *fp, *wf ;
int i, j ;
double b[], r ; fp = fopen("in.dat","r") ;
wf = fopen("out.dat","w") ;
for(i = ; i < ; i++) {
for(j = ; j < ; j++) {
fscanf(fp, "%lf ", &b[j]) ;
}
r = fun(b, ) ;
fprintf(wf, "%f\n", r) ;
}
fclose(fp) ;
fclose(wf) ;
}
//错误解答:
double sum = ;
double min, max;
min = max = a[];
for (int i = ; i < n; i++)
{
if (a[i] > max) max = a[i];
if (a[i] < min) min = a[i];
}
for (int j = ; j < n; j++)
{
if (a[j] == max || a[j] == min) continue;//如果最大数最小数有多个时,会出现不准确现象。
sum += a[j] / (n - );
}
return sum;
//另一种解答:
double sum = ;
double min, max;
min = max = a[];
for (int j = ; j < n; j++)
{
if (a[j] > max) max = a[j];
if (a[j] < min) min = a[j];
sum += a[j];
}
sum = sum - max - min;
return sum/(n-);
C语言:统计整型变量m中各数字出现的次数,-去掉一个最高分和一个最低分,然后求平均值,(注意最低分和最高分可能有多个数并列)的更多相关文章
- python 统计工作簿中每个人名出现的次数
工作簿 需求:统计人名出现的次数 代码: # coding=gbk import pandas as pd import re def extract_chinese(txt): pattern = ...
- 笔试算法题(30):从已排序数组中确定数字出现的次数 & 最大公共子串和最大公共序列(LCS)
出题:在已经排序的数组中,找出给定数字出现的次数: 分析: 解法1:由于数组已经排序,所以可以考虑使用二分查找确定给定数字A的第一个出现的位置m和最后一个出现的位置n,最后m-n+1就是A出现的次数: ...
- 【Python】【demo实验18】【练习实例】【统计输入字符串中,数字的个数、英文字母的个数及其他符号的个数】
原题: 输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. (本题暂时不支持中文字符及汉字) 我的代码: #!/usr/bin/python # encoding=utf-8 # -* ...
- 计算1到N中各个数字出现的次数 --数位DP
题意:给定一个数n,问从1到n中,0~9这10个数字分别出现了多少次.比如366这个数,3出现了1次,6出现了2次. 题解:<剑指offer>P174:<编程之美>P132 都 ...
- Uva1640(统计数字出现的次数)
题意: 统计两个整数a,b之间各个数字(0~9)出现的次数,如1024和1032,他们之间的数字有1024 1025 1026 1027 1028 1029 1030 1031 1032 总共有10个 ...
- PHP array_count_values() 函数用于统计数组中所有值出现的次数。
定义和用法 array_count_values() 函数用于统计数组中所有值出现的次数. 本函数返回一个数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数. 语法 array_count ...
- STL 统计vector容器中指定对象元素出现的次数:count()与count_if()算法
1 统计vector向量中指定元素出现的次数:count()算法 利用STL通用算法统计vector向量中某个元素出现的次数:count()算法统计等于某个值的对象的个数. #include &quo ...
- 在论坛中出现的比较难的sql问题:16(取一个字段中的数字)
原文:在论坛中出现的比较难的sql问题:16(取一个字段中的数字) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. 问题:取一个字段中的数字http://bbs.csdn ...
- 对字符串进行简单的字符数字统计 探索java中的List功能
题目: 统计一个字符串中数字和字符串的个数,并分别进行排列,要求 1.数字,字符串可以从键盘获取. 2.储存在list 3.统计数字个数,字符串个数 4.把数字和字符串按从小到大的顺序输出 5.不能使 ...
随机推荐
- exists和not exists关键字
表A ID NAME 1 A1 2 A2 3 A3 表B ID AID NAME 1 1 B1 2 2 B2 3 2 B3 SELECT ID,NAME FROM A ...
- mybatis(六):设计模式 - 装饰器模式
- Mysql中的触发器【转】
转载:https://www.cnblogs.com/chenpi/p/5130993.html 阅读目录 什么是触发器 特点及作用 例子:创建触发器,记录表的增.删.改操作记录 弊端 什么是触发器 ...
- 来了,就给自己立个flag
2019-09-16,刚刚申请的博客园. 不知道不觉,自己已经大四毕业了. 说来惭愧,已经接触IT这方面已经四年了. 但仍然感觉自己像个萌新,啥也不懂,这也不会,那也不会. 8月开始在公司大佬的指导下 ...
- 【14】N的二进制中1的个数
class Solution { public int findKthLargest(int[] nums, int k) { PriorityQueue<Integer> h = new ...
- Hibernate:HIbernate配置详解-HelloWorld
hibernate介绍: Hibernate是一个开源的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲的使用对象编程思维来操纵数据库. 它不仅提供了从java类到数 ...
- Java正则表达式提取String字符串中的IP地址
/** * 正则提前字符串中的IP地址 * @param ipString * @return */ public static List<String> getIps(String ip ...
- ThinkPhp5 中Volist标签的用法
Volist标签一般是和内置方法assign()搭配使用,将值从后台传到前台,是当下比较流行的一种传值方法 本文实例讲述了ThinkPHP模板循环输出Volist标签用法.分享给大家供大家参考,具体如 ...
- 在远程连接mysql数据库出现问题怎么办
远程连接mysql数据库报“Communications link failure...”错误 今天在用myEclipse连接时提示:Communications link failure,Last ...
- Centos7 下mysql 密码重置
Centos7 下mysql 密码重置 先停止mysql服务 mysqld_safe --skip-grant-tables & mysql mysql> use mysql;mysql ...