统计类编程
正好昨晚帮人家做了,虽然只有一半,就将就吧,其他自己补上 #include "stdio.h" #include"stdlib.h" struct A { int number; float math,english,chinese,history,geogry; }B[10]; void main() { int i,g,f=0; float k=0,h=0,j=0,u=0,y=0,str[10]; struct A B[2] ; FILE *fp; fp=fopen("d:\\345.txt","wb"); for(i=0,g=1;i<2;i++,g++) { fprintf(fp,"请输入第%d位学生的各科成绩:",g); scanf("%d,%f,%f,%f,%f,%f",&B[i].number,&B[i].math,&B[i].english,&B[i].chinese,&B[i].history,&B[i].geogry); str[i]=(B[i].math+B[i].english+B[i].chinese+B[i].history+B[i].geogry)/5.0; k=k+B[i].math; h=h+B[i].english; j=j+B[i].chinese; u=u+B[i].history; y=y+B[i].geogry; if(B[i].math>90&&B[i].english>90&&B[i].chinese>90&&B[i].history>90&&B[i].geogry>90) {f++;} } k=k/2.0; h=h/2.0; j=j/2.0; u=u/2.0; y=y/2.0; fprintf(fp,"学号-----数学-----英语-----语文-----历史-----地理-----平均分\t"); for(i=0;i<2;i++) { fprintf(fp,"%d%8.1f%8.1f%8.1f%8.1f%8.1f",B[i].number,B[i].math,B[i].english,B[i].chinese,B[i].history,B[i].geogry); fprintf(fp,"%8.2f\t",str[i]); } fprintf(fp,"%8.2f%8.2f%8.2f%8.2f%8.2f\t",k,h,j,u,y); fprintf(fp,"\t每科高于90分的人数有%d",f); fclose(fp); }
2. 用c语言编程,统计文件中出现的单词的次数
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
//定义存储单词和出现次数的结构体
typedef struct{
string word;
int num;
}count;
int main()
{
vector<count> v; //定义count类型的向量,动态存储count变量
count tempstr; //临时存储count变量
tempstr.num=0; //num初始化为0
ifstream in("english.txt"); //打开文件
string temp; //临时变量,存储文件的一行信息
string str; //临时变量,存储单个单词
int count=0; //记录单词字符个数
int j=0;
//按行读取文件,对每行信息截取单词并计数
while(getline(in,temp))
{
for(int i=0;i<temp.length ();i++)
{
if((temp[i]>='a'&&temp[i]<='z')||(temp[i]>='A'&&temp[i]<='Z'))
count++; //如果是英文字符,则计数加1
else if(count) //单词遇非英文字符时,计数终止,截取单词
{
str=temp.substr (i-count,count); //取子串(截取单词)
if(v.size ()) //若向量的长度不为0,则将单词与已有单词比较
{
for(j=0;j<v.size ();j++)
if(str.compare(v[j].word )==0)
{
v[j].num ++; //单词相同,则将相应单词的数目加1
count=0; //计数变量重新赋值为0,以便记录新的单词
break;
}
} //end if
if(j>=v.size ()) //单词第一次出现,将其添加至向量中
{
tempstr.word = str;
tempstr.num =1;
v.push_back (tempstr);
count = 0; //单词添加完毕,计数变量归0,记录新单词
} //end if
} //end elseif
} //end for
} //end while
//打印单词及出现次数
for(int i=0;i<v.size ();i++)
cout<<"the word is:"<<v[i].word<<", the times is:"<<v[i].num<<endl;
return 0;
}
3. java简单编程:教师统计学生分数并输出
///: Filename: Teacher.java
//老师类
public class Teacher {
//根据学生成绩的平均分由高到低排序;
private void sortStudents(Student[] s){
Student t;
for(int i=0; i<s.length-1; i++)
if(s[i+1].getAvgResult()>s[i].getAvgResult()){
t=s[i];
s[i]=s[i+1];
s[i+1]=t;
i-=i==0?1:2;
}
}
//公布学生考试成绩
private void printInfo(Student[] s){
for(int i=0; i<s.length; i++)
System.out.println(s[i].getCls()+": "+s[i].getName()+" 同学,\n 总分: "+s[i].getTotalResult()+", 平均分:"+s[i].getAvgResult()+" " +
" 名列本次考试的第 "+(i+1)+" 名." +
"\n\t数学: "+s[i].getResult()[0]+" 分" +
"\n\t语文: "+s[i].getResult()[1]+" 分"+
"\n\t体育: "+s[i].getResult()[2]+" 分"+"\n");
}
public static void main(String[] args) {
String cls = "三(6)班";
Student 张三 = new Student("张三",cls,new float[]{80,70,90,});
Student 李四 = new Student("李四",cls,new float[]{90,75,65,});
Student 王五 = new Student("王五",cls,new float[]{85,95,70,});
Student[] all = {张三,李四,王五,};//全部学生放入一个数组,以便分析
Teacher th = new Teacher();//创建老师类
th.sortStudents(all);//老师对学生进行排序
th.printInfo(all);//老师公布学生的结果
}
}
//学生类
class Student{
Student(){}
Student(String name,String cls,float[] r){
this.setName(name);
this.setCls(cls);
this.setResult(r);
}
private String name;//姓名
private String cls;//班级
private float[] results;//成绩
//SETTER
public void setName(String s){name=s;}
public void setCls(String s){cls=s;}
public void setResult(float[] f){results=f;}
//GETTER
public String getName(){return name;}
public String getCls(){return cls;}
public float[] getResult(){return results;}
public float getTotalResult(){//获取学生总成绩
float f = 0;
for(int i=0; i<results.length; i++)
f+=results[i];
return f;
}
public float getAvgResult(){//获取学生平均成绩
return getTotalResult()/results.length;
}
}
4. 请问各类数据统计分析和编程语言:Access, VBA, SQL, Python, SAS, Matlab, etc. 这些有什么区别和联系
首先你得对他们进行分类:
数据库:Access、SQL、Oracle
数据分析类型:SAS、Matlab、Python、VBA
流行编程软件:Python
其中作为数据库现在以Oracle和SQL最流行,仅仅是管理数据库而已
数据分析最老的是SAS,拥有大多的库和包
Matlab相当于一个大型的计算器,对于计算非常简单,也具备编程的效果,但是运行过慢
Python是现在主流的编程软件之一,属于综合型软件,数据分析、建站等都可以
VBA是VB衍生出来的软件,excel自带,具有VB的一些特性,实行软件化非常简单,同时也继承了运行速度慢的基因
不知道你要走哪一行,所以不知道你会用到哪一些
5. 关于C++:试编程统计出一个类在程序中,实例化的对象个数...谢谢!!!
class AllMembers{
public:
AllMembers() // 构造函数
{
++num;
}
AllMembers(const AllMembers&) // 拷贝构造函数
{
++num;
}
~AllMembers() // 析构函数
{
--num;
}
static size_t number() // 返回实例化对象个数
{
return num;
}
private:
static size_t num; // 对象计数器
};
6. C语言编程:统计字符串中各字母出现的次数
#include<stdio.h>
#include<stdlib.h>
int findsub(char*src,char*s)
{
char*ptr=src,*p=s;//定义两个指针
char*ptr2=src+strlen(src),*prev=NULL;//ptr2为src的末位置指针
int len=strlen(s),n=0;//子串的长度和计数器
for(;*ptr;ptr++)//循环整个串
n++;//自增
p=s;//重新指向子串
break;//退出
char a[81],b[81];//定义两个字符数组
fgets(b,81,stdin);
printf("找到:%d ",findsub(a,b));
system("pause");
return 0;
}
数据类型:
字符串数据类型是建模在形式字符串的想法上的数据类型。字符串是几乎在所有编程语言中可以实现的非常重要和有用的数据类型。在某些语言中它们可作为基本类型获得,在另一些语言中做为复合类型获得。多数高级语言的语法允许通常用某种方式引用起来的字符串来表示字符串数据类型的实例;这种元字符串叫做“文本”或“字符串文本”。
以上内容参考:网络-字符串
7. 统计学专业需要自学编程吗
要,我看师弟做这块经常要编程,岗位不同用的软件也不一样,先学好sas这种价值比较大。我自己是做统计报表工作那块的,要学多点财务知识。
8. 编一个统计程序需要什么
简单的统计程序 只需要用excel写vba程序即可,入门上手相对于其他编程语言来说会比较简单,比如不需要装各种环境开发工具数据库等。只需要装带宏功能的完整excel,网络上关于vba的资源也很多。
9. c++编程 创建一个学生类 统计80分以上、 不及格的人数, 并且求成绩平
#include<list>
usingnamespacestd;
class学生管理类
{
public:
unsignedint_80分以上人数()
{
return0;
}
unsignedint不及格人数()
{
return0;
}
double平均成绩()
{
return0;
}
private:
list<float>分数列表;
};
intmain(intargc,char*argv[])
{
学生管理类管理;
cout<<"80分以上人数:"<<管理._80分以上人数()<<endl;
cout<<"不及格人数:"<<管理.不及格人数()<<endl;
cout<<"平均成绩:"<<管理.平均成绩()<<endl;
return0;
}
10. 统计学专业需要自学编程吗
多学点总是会有好处的,别的不说,我个人经验是推荐学习Python,Python是所有编程语言中最易于上手难于精通的典范,这意味着你要是买错书了很有可能会被坑死。Python适合新手主要还是因为两点,一是他是脚本语言可以写一行运行一行,比那些编译语言见效快,不用一次写很多代码才能运行。二是多范式,Python几乎包括了所有主流范式,怎么写都行。但是这并不意味着所有范式都适合新手。新手还是从命令式,过程式入手吧。根据以上两点你可以试着选择合适的入门书籍。
初学者入门的话推荐书籍是《父与子的编程之旅》,推荐的学习类APP是《W3Cschool》,总之学习编程最重要的是坚持不懈,最终才用具备有真正的编程能力。