数据分析处理软件的确有很多种,适合不同类型的人员。
Excel:还是很普遍的,大部分使用,只是数据一大就比较慢,而且写函数比较麻烦,学好很重要;
BDP个人版:偏向数据可视化分析,图表类型有30多种,适合数据小白使用;有多表关联、追加合并等合表处理功能,性能挺快的~
SAS、SPSS:会涉及到一些数据建模的东西,相对比较难。Excel:普遍适用,既有基础,又有中高级。中级一般用Excel透视表,高级的用Excel VBA。
hihidata:比较小众的数据分析工具。三分钟就可以学会直接上手。无需下载安装,直接在线就可以使用。
MARLAB:建立统计与数学模型,但是比较难学,很难上手。
Eview:比较小众,建立一些经济类的模型还是很有用的。计量经济学中经常用到。
各种BI与报表工具:tableau,QlikView,海致BDP等。
#include#include#include/------------数据区--------/intSIZE=2;structSpot{charid[10];//景点编号charname[20];//景点名称charaddress[50];//景点地址floatcost;//费用};structSpotscenery[20];charsub_id[10];//用于储存要查询、修改、删除景点的编号/-----------函数声明区--------/voidInput(Spotscenery[],intSIZE);//录入函数voidDel(Spotscenery[],charsub_id[],int&SIZE);//删除函数voidAlter(Spotscenery[],charsub_id[],intSIZE);//修改函数voidOutput(Spotscenery[],intSIZE);//显示函数voidSelect(Spotscenery[],charsub_id[],intSIZE);//查询函数voidCount(Spotscenery[],intSIZE);//统计函数voidExit();//退出函数/------------函数定义区-----------/voidInput(Spotscenery[10],intSIZE){inti;printf("pleaseinput\n");printf("------------------------------------------\n");for(i=0;i
using System;
using SystemData;
using SystemConfiguration;
using SystemWeb;
using SystemWebSecurity;
using SystemWebUI;
using SystemWebUIWebControls;
using SystemWebUIWebControlsWebParts;
using SystemWebUIHtmlControls;
using Excel = MicrosoftOfficeInteropExcel;
//
/// <summary>
/// InsertPictureToExcel 的摘要说明
/// </summary>
public class InsertPictureToExcel
{
private ExcelApplication m_objExcel = null;
private ExcelWorkbooks m_objBooks = null;
private Excel_Workbook m_objBook = null;
private ExcelSheets m_objSheets = null;
private Excel_Worksheet m_objSheet = null;
private ExcelRange m_objRange = null;
private object m_objOpt = SystemReflectionMissingValue;
//
/// <summary>
/// 打开没有模板的 *** 作。
/// </summary>
public void Open()
{
thisOpen(StringEmpty);
}
//
/// <summary>
/// 功能:实现Excel应用程序的打开
/// </summary>
/// <param name="TemplateFilePath">模板文件物理路径</param>
public void Open(string TemplateFilePath)
{
//打开对象
m_objExcel = new ExcelApplication();
m_objExcelVisible = false;
m_objExcelDisplayAlerts = false;
if (m_objExcelVersion != "110")
{
//MessageBoxShow("您的 Excel 版本不是 110 (Office 2003), *** 作可能会出现问题。");
m_objExcelQuit();
return;
}
m_objBooks = (ExcelWorkbooks)m_objExcelWorkbooks;
if (TemplateFilePathEquals(StringEmpty))
{
m_objBook = (Excel_Workbook)(m_objBooksAdd(m_objOpt));
}
else
{
m_objBook = m_objBooksOpen(TemplateFilePath, m_objOpt, m_objOpt, m_objOpt, m_objOpt,
m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt);
}
m_objSheets = (ExcelSheets)m_objBookWorksheets;
m_objSheet = (Excel_Worksheet)(m_objSheetsget_Item(1));
m_objExcelWorkbookBeforeClose += new ExcelAppEvents_WorkbookBeforeCloseEventHandler(m_objExcel_WorkbookBeforeClose);
}
private void m_objExcel_WorkbookBeforeClose(ExcelWorkbook m_objBooks, ref bool _Cancel)
{
//MessageBoxShow("保存完毕!");
}
//
/// <summary>
/// 将插入到指定的单元格位置。
/// 注意:必须是绝对物理路径
/// </summary>
/// <param name="RangeName">单元格名称,例如:B4</param>
/// <param name="PicturePath">要插入的绝对路径。</param>
public void InsertPicture(string RangeName, string PicturePath)
{
m_objRange = m_objSheetget_Range(RangeName, m_objOpt);
m_objRangeSelect();
ExcelPictures pics = (ExcelPictures)m_objSheetPictures(m_objOpt);
picsInsert(PicturePath, m_objOpt);
}
//
/// <summary>
/// 将插入到指定的单元格位置,并设置的宽度和高度。
/// 注意:必须是绝对物理路径
/// </summary>
/// <param name="RangeName">单元格名称,例如:B4</param>
/// <param name="PicturePath">要插入的绝对路径。</param>
/// <param name="PictuteWidth">插入后,在Excel中显示的宽度。</param>
/// <param name="PictureHeight">插入后,在Excel中显示的高度。</param>
public void InsertPicture(string RangeName, string PicturePath, float PictuteWidth, float PictureHeight)
{
m_objRange = m_objSheetget_Range(RangeName, m_objOpt);
m_objRangeSelect();
float PicLeft, PicTop;
PicLeft = ConvertToSingle(m_objRangeLeft);
PicTop = ConvertToSingle(m_objRangeTop);
m_objSheetShapesAddPicture(PicturePath, MicrosoftOfficeCoreMsoTriStatemsoFalse,
MicrosoftOfficeCoreMsoTriStatemsoTrue, PicLeft, PicTop, PictuteWidth, PictureHeight);
}
//
/// <summary>
/// 将Excel文件保存到指定的目录,目录必须事先存在,文件名称不一定要存在。
/// </summary>
/// <param name="OutputFilePath">要保存成的文件的全路径。</param>
public void SaveFile(string OutputFilePath)
{
m_objBookSaveAs(OutputFilePath, m_objOpt, m_objOpt,
m_objOpt, m_objOpt, m_objOpt, ExcelXlSaveAsAccessModexlNoChange,
m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt);
thisClose();
}
//
/// <summary>
/// 关闭应用程序
/// </summary>
private void Close()
{
m_objBookClose(false, m_objOpt, m_objOpt);
m_objExcelQuit();
}
//
/// <summary>
/// 释放所引用的COM对象。注意:这个过程一定要执行。
/// </summary>
public void Dispose()
{
ReleaseObj(m_objSheets);
ReleaseObj(m_objBook);
ReleaseObj(m_objBooks);
ReleaseObj(m_objExcel);
SystemGCCollect();
SystemGCWaitForPendingFinalizers();
}
//
/// <summary>
/// 释放对象,内部调用
/// </summary>
/// <param name="o"></param>
private void ReleaseObj(object o)
{
try
{
SystemRuntimeInteropServicesMarshalReleaseComObject(o);
}
catch { }
finally { o = null; }
}
}
ORG 0H 程序起始地址
ACALL ZI 跳转到zi
SJMP $
ZI: MOV R0,#31H 把31H给R0
MOV 30H,#15 把数组个数15给30H单元
LOOP: MOV A,@R0 把地址31H中的数据给A寄存器
JB ACC0,LOOP1 判断寄存器A中的最低位是0 还是1,是1就是奇数,是0就是0偶数。是奇数的话跳到LOOP1,是偶数的话顺序执行。。。这语句判断奇偶数
INC 41H 偶数个数加1
AJMP Jie_Shu
LOOP1: INC 40H 奇数个数加1,,也就是这一句将奇数个数存于40H单元
Jie_Shu: INC R0 地址加1,31H,32H,33H,34H
DJNZ 30H,LOOP 看看是不是到数据元素个数了了,到了就结束了,否则返回去继续执行
RET
END
#include<stdioh>
#include<stdlibh>
#include<malloch>
#define size 10
int getmax(int nums);//获取最大值地址
int getmin(int nums);//获取最小值地址
float getave(int nums);//获取平均值
int getsum(int nums);//获取总和
int sx(int nums);//返回升序后的数组
int jx(int nums);//返回降序后的数组
int findnum(int nums);//找到数值返回相同数值对应的第一个地址,没有找到返回NULL
void prfnums(int nums);//打印数组
int main()
{
//最大值、最小值和平均值、总和、排序、查找
int i,nums[size],ans,max,min,sum,jxns=NULL,sxns=NULL,num;
float ave;
char anc;
printf("输入10个数字:");
for(i=0;i<size;i++)
scanf("%d",&nums[i]);
max=getmax(nums);
min=getmin(nums);
ave=getave(nums);
sum=getsum(nums);
jxns=jx(nums);
sxns=sx(nums);
while(1)
{
system("cls");
printf("输入的数组为:");
prfnums(nums);
printf("请选择处理方案:\n");
printf("1、求最大值。\n2、求最小值。\n3、求平均值。\n4、求总和。\n5、降序排列。\n6、升序排列。\n7、查找指定值。\n");
scanf("%d",&ans);
switch(ans)
{
case 1:printf("最大值为第%d个元素:%d\n",max-nums+1,max);
break;
case 2:printf("最小值为第%d个元素:%d\n",min-nums+1,min);
break;
case 3:printf("平均值为:%f\n",ave);
break;
case 4:printf("总和为:%d\n",sum);
break;
case 5:printf("降序排列后的数组为:");
prfnums(jxns);
break;
case 6:printf("升序排列后的数组为:");
prfnums(sxns);
break;
case 7:num=findnum(nums);
if(num!=NULL)
printf("第一个对应的数值位置在数组第%d个元素\n",num-nums+1);
else
printf("未找到对应数值\n");
break;
}
while(1)
{
printf("Continue?Y/N\n");
getchar();
scanf("%c",&anc);
if(anc=='N')
return 0;
if(anc=='Y')
break;
else
printf("输入不符合要求,重新回答\n");
}
}
return 0;
}
void prfnums(int nums)//打印数组
{
int i;
for(i=0;i<size;i++)
printf("%d ",nums[i]);
printf("\n");
}
int getmax(int nums)//获取最大值地址
{
int i,max=&nums[0];
for(i=1;i<size;i++)
{
if(max<nums[i])
max=&nums[i];
}
return max;
}
int getmin(int nums)//获取最小值地址
{
int i,min=&nums[0];
for(i=1;i<size;i++)
{
if(min>nums[i])
min=&nums[i];
}
return min;
}
float getave(int nums)//获取平均值
{
float ave;
ave=(float)getsum(nums)/size;
return ave;
}
int getsum(int nums)//获取总和
{
int i,sum=0;
for(i=0;i<size;i++)
{
sum=sum+nums[i];
}
return sum;
}
int sx(int nums)//返回升序后的数组
{
int i,j,numSave=NULL;
numSave=(int )malloc(sizeof(int)size);
for(i=0;i<size;i++)
numSave[i]=nums[i];
for(i=0;i<size-1;i++)
for(j=i+1;j<size;j++)
{
if(numSave[i]>numSave[j])
{
numSave[i]^=numSave[j];
numSave[j]^=numSave[i];
numSave[i]^=numSave[j];
}
}
return numSave;
}
int jx(int nums)//返回降序后的数组
{
int i,j,numSave=NULL;
numSave=(int )malloc(sizeof(int)size);
for(i=0;i<size;i++)
numSave[i]=nums[i];
for(i=0;i<size-1;i++)
for(j=i+1;j<size;j++)
{
if(numSave[i]<numSave[j])
{
numSave[i]^=numSave[j];
numSave[j]^=numSave[i];
numSave[i]^=numSave[j];
}
}
return numSave;
}
int findnum(int nums)//找到数值返回相同数值对应的第一个地址,没有找到返回NULL
{
int i,num;
printf("输入你要查找的数值:");
scanf("%d",&num);
for(i=0;i<size;i++)
if(nums[i]==num)
return &nums[i];
return NULL;
}
以上就是关于数据处理软件有哪些全部的内容,包括:数据处理软件有哪些、会使用流程控制语句和数组,编写出进行数据处理的程序,并能够上机调试和运行。、编写excel数据处理程序,Java、C# 都可以。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)