用 Dev-C++ 编写简单的平均数/中位数/众数/方差/一元线性回归方程计算器

  • 简介
  • 源代码

简介

B站视频讲解:【小工具】用 Dev-C++ 编写简单的平均数/中位数/众数/方差/一元线性回归方程计算器(附带控制台颜色设置,选择界面)

源代码

#include <cstdio>
#include <windows.h>
#include <iostream>
#include <algorithm>
#include <conio.h>
using namespace std;double a[1000010];
double zhongshu[1000010];void p1()
{system("cls");int n;double pingjun;double s2;int zhongshucnt;int zhongshutot;int zhongshumax;while(1){pingjun=0;s2=0;printf("平均数/方差/中位数/众数\n\n");printf("请输入数据个数:");scanf("%d",&n);printf("\n请输入数据(用 [Enter] 或 [Space] 隔开):\n");for(int i=1;i<=n;i++){scanf("%lf",&a[i]);pingjun+=a[i];s2+=a[i]*a[i];}s2/=n;pingjun/=n;s2-=pingjun*pingjun;putchar('\n');printf("平均数:");cout<<pingjun;putchar('\n');putchar('\n');printf("方差:");cout<<s2;putchar('\n');sort(a+1,a+1+n);putchar('\n');printf("中位数:");if(n&1)cout<<a[(n+1)/2];elsecout<<(a[n/2]+a[n/2+1])/2;putchar('\n');zhongshucnt=1;zhongshutot=1;zhongshumax=0;for(int i=2;i<=n;i++){if(a[i]==a[i-1]){zhongshucnt++;}else{if(zhongshucnt>zhongshumax){zhongshumax=zhongshucnt;zhongshu[1]=a[i-1];zhongshutot=1;}else if(zhongshucnt==zhongshumax){zhongshutot++;zhongshu[zhongshutot]=a[i-1];}zhongshucnt=1;}}if(zhongshucnt>zhongshumax){zhongshumax=zhongshucnt;zhongshu[1]=a[n];zhongshutot=1;}else if(zhongshucnt==zhongshumax){zhongshutot++;zhongshu[zhongshutot]=a[n];}putchar('\n');printf("众数共有 %d 个,%s出现了 %d 次:",zhongshutot,zhongshutot>1?"他们都":"它",zhongshumax);for(int i=1;i<=zhongshutot;i++){cout<<zhongshu[i];putchar(' ');}putchar('\n');putchar('\n');printf("已经将输入数据排序:\n");for(int i=1;i<=n;i++){cout<<a[i];putchar(' ');}putchar('\n');putchar('\n');Sleep(300);while(_kbhit())getch();Sleep(200);printf("按 [ESC] 键退出,按其他任意键重新开始...");char ch=getch();if(ch==27)break;elsesystem("cls");}
}double x[1000010];
double y[1000010];void p2()
{system("cls");int n;double totx,toty;double xy,x2;double xbar,ybar;double a,b;while(1){totx=0;toty=0;xy=0;x2=0;printf("一元线性回归方程\n\n");printf("请输入数据组数:");scanf("%d",&n);printf("\n输入格式:每组数据占一行,第 i 行的数据为 xi yi ,中间用空格隔开\n");printf("\n请输入数据:\n");for(int i=1;i<=n;i++){scanf("%lf %lf",&x[i],&y[i]);totx+=x[i];toty+=y[i];xy+=x[i]*y[i];x2+=x[i]*x[i];}xbar=totx/n;ybar=toty/n;b=(xy-n*xbar*ybar)/(x2-n*xbar*xbar);a=ybar-b*xbar;putchar('\n');printf("x平均值为:");cout<<xbar;putchar('\n');putchar('\n');printf("y平均值为:");cout<<ybar;putchar('\n');putchar('\n');printf("一元线性回归方程为:");cout<<"y="<<a<<"+"<<b<<"x";putchar('\n');putchar('\n');Sleep(300);while(_kbhit())getch();Sleep(200);printf("按 [ESC] 键退出,按其他任意键重新开始...");char ch=getch();if(ch==27)break;elsesystem("cls");}
}void Set(int x,int y)
{HANDLE hOut;COORD pos={x,y};hOut=GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleCursorPosition(hOut,pos);
}int main()
{printf("--计算器--\n\n");HANDLE hConsoleOutput=GetStdHandle(STD_OUTPUT_HANDLE);Set(0,2);SetConsoleTextAttribute(hConsoleOutput,0|15*16);printf("->平均数/中位数/众数/方差/数据排序  ");Set(0,4);SetConsoleTextAttribute(hConsoleOutput,15|0*16);printf("          一元线性回归方程          ");char ch;int mode=1;while(1){ch=getch();if(ch==-32){ch=getch();if(ch==72 || ch==75)//左 上 {mode=1;Set(0,2);SetConsoleTextAttribute(hConsoleOutput,0|15*16);printf("->平均数/中位数/众数/方差/数据排序  ");Set(0,4);SetConsoleTextAttribute(hConsoleOutput,15|0*16);printf("          一元线性回归方程          ");}else if(ch==77 || ch==80)//右 下 {mode=2;Set(0,2);SetConsoleTextAttribute(hConsoleOutput,15|0*16);printf("  平均数/中位数/众数/方差/数据排序  ");Set(0,4);SetConsoleTextAttribute(hConsoleOutput,0|15*16);printf("->        一元线性回归方程          ");SetConsoleTextAttribute(hConsoleOutput,15|0*16);//记得要设置回黑底白字 }}else if(ch==13){if(mode==1)p1();elsep2();system("cls");printf("--计算器--\n\n");if(mode==1){Set(0,2);SetConsoleTextAttribute(hConsoleOutput,0|15*16);printf("->平均数/中位数/众数/方差/数据排序  ");Set(0,4);SetConsoleTextAttribute(hConsoleOutput,15|0*16);printf("          一元线性回归方程          ");}else{Set(0,2);SetConsoleTextAttribute(hConsoleOutput,15|0*16);printf("  平均数/中位数/众数/方差/数据排序  ");Set(0,4);SetConsoleTextAttribute(hConsoleOutput,0|15*16);printf("->        一元线性回归方程          ");SetConsoleTextAttribute(hConsoleOutput,15|0*16);//记得要设置回黑底白字 }}}return 0;
}

用 Dev-C++ 编写简单的平均数/中位数/众数/方差/一元线性回归方程计算器(附带控制台颜色设置,选择界面)相关推荐

  1. 平均数,中位数,众数这三个概念的区别和联系分别是什么?

    平均数.众数.中位数这三个统计量的各自特点是: 平均数的大小与一组数据里的每个数据均有关系,其中任何数据的变动都会相应引起平均数的变动:众数则着眼于对各数据出现的次数的考察,其大小只与这组数据中的部分 ...

  2. C语言 平均数 中位数 众数

    平均值 中位数 众数 在习题8.8的基础上, 用一个整型数组feedback保存调查的40个反馈意见.用函数编程计算反馈意见的平均值(Mean) .中位数(Median) 和众数(Mode) .中位数 ...

  3. 平均数 中位数 众数的实际意义

    平均数:反映了一组数据的平均大小,常用来一代表数据的总体 "平均水平". 中位数:像一条分界线,将数据分成前半部分和后半部分,因此用来代表一组数据的"一般水平" ...

  4. kubebuilder实践笔记(4) - 编写简单的业务逻辑

    今天使用kubebuilder,在一个Controller中编写简单的业务逻辑. 需求: 1)实现自定义对象(ats/at-sample)的状态(Status.Phase字段)的转换:PENDING& ...

  5. 实用c语言函数源码,C语言编写简单朗读小工具(有源码)

    原标题:C语言编写简单朗读小工具(有源码) 最近不少人在后台留言说学C都是面对枯燥的控制台程序,能不能体现一下C语言的实际用途,今天我们就理论结合实践一把:C语言结合VBS脚本编写一个简单的朗读小工具 ...

  6. python七夕快乐_python编写简单抽奖系统

    python编写简单抽奖系统 #!/usr/bin/env python #coding=utf-8 from Tkinter import * import time import random c ...

  7. python做好的程序如何变成小程序-使用python编写简单的小程序编译成exe跑在win10上...

    每天的工作其实很无聊,早知道应该去IT公司闯荡的.最近的工作内容是每逢一个整点,从早7点到晚11点,去查一次客流数据,整理到表格中,上交给素未蒙面的上线,由他呈交领导查阅. 人的精力毕竟是有限的,所以 ...

  8. python爬虫简单实例-Python 利用Python编写简单网络爬虫实例3

    利用Python编写简单网络爬虫实例3 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站"http://bbs.51tes ...

  9. python的翻译-Python编写简单的谷歌翻译软件

    Python编写简单的谷歌翻译软件 这是我学习Python的图形模块tkinter时完成的一个小作业,翻译速度快, 直接调用Google翻译的Python接口,界面简洁,已成为我日常编程的小助手^^ ...

  10. 【Windows 逆向】CheatEngine 工具 ( 汉化版 CE 工具推荐 | 编写简单 C++ 程序 | C++ 程序执行分析 | 使用 CE 修改上述 C++ 程序 )

    文章目录 一.汉化版 CE 工具推荐 二.编写简单 C++ 程序 三.C++ 程序执行分析 四.使用 CE 修改上述 C++ 程序 一.汉化版 CE 工具推荐 推荐一个汉化版的 CE 工具 : htt ...

最新文章

  1. 【转】接口测试技术介绍
  2. Windows-Server下加强系统安全性系列之方案【九】
  3. [转]XCode中修改缺省公司名称/开发人员名称
  4. mysql explain insert_MySQL之EXPLAIN 执行计划详解
  5. java小数点默认定义_java求两个数后小数点默认无限长度
  6. Guacamole-RDP没有声音解决办法
  7. spring集成多个rabbitMQ
  8. Docker本地私有仓库的建立
  9. 目标跟踪学习笔记_1(opencv中meanshift和camshift例子的应用)
  10. Redmi K30 Pro渲染图曝光:升降式前置双摄相机模组亮眼
  11. jQuery UI:Datepicker将年份范围下拉至100年
  12. input file控件使用accept过滤 限制的文件类型
  13. java 重量单位换算_用java创建一个可以换算长度单位的length类,将某种长度单位进行数值间的转换。...
  14. csgo如何增加人机数量及平衡_csgo怎么单机跟电脑打?怎么增加BOT?
  15. HBase CURD之Put
  16. Vue实现表格的分页打印和导出Excel功能
  17. 『精华』技术大牛养成指南,一篇不鸡汤的成功学实践
  18. CCS:Type region `APP_CODE_MEM' overflowed by 641240 b
  19. 《机器学习实战:基于Scikit-Learn、Keras和TensorFlow第2版》-学习笔记(9):无监督学习技术
  20. 单机版五子棋java功能_JAVA单机版五子棋怎么写

热门文章

  1. 电机噪声之谐波分析(内附simulink中FFT分析的相关参数配置与解析)
  2. 面向未来的智慧道路解决方案与实践
  3. 共享OrCAD9.2pSpice9.2+multisim下载地址
  4. OC_键值编码KVC(Key-Value Coding)
  5. C++多线程函数_beginthread/_beginthreadex/CreateThread
  6. 大学计算机网络实训目的,计算机专业大学生毕业实习目的
  7. 打印机出现另存为xps_打印机打印文件显示另存为xps格式的文件 - 卡饭网
  8. 读书笔记 - 《资本幕后》
  9. AppFabric 版本区分
  10. oracle误删数据恢复