请各位C++高手帮我看一下这简单的C++程序

2021-02-04 06:24:45 字数 1664 阅读 2868

1楼:加油

帮你修改正确了,有几个变量你把字母打错了,最主要的错误是你没有理解继承,既然是继承,teacher和stud***是继承类,所以基类的成员要继承下来,所以你在写构造函数的时候要声明一下,你看我写的就清楚了,还有你应该多用指针,老是用数组多别扭

还有最后你写的两行不是成员函数,我帮你都改了#include

#include

using namespace std;

class person

void showname()

void shownumber()

};class teacher:public personvoid showposition()

void showdepartment()};class student:public personvoid showstudent()

};void main()

关于c++的一个简单程序,请高手帮我修改一下!

2楼:匿名用户

/*count = 59283, e = 2.07566**ress any key to continue*/#include

#include

#include

voidsort(inta,intn)if(k!=i)}}

intmain()

}e=1.0*count/(13*13*13*13);

printf("count=%d,e=%lf\n",count,e);

return0;}

3楼:匿名用户

#include

#include/*引用qsort函数*/

/*qsort函数中的比较函数,适用于整型int升序*/

intcmp(constvoid*a,constvoid*b)

intmain()}}

}printf("count=%ue=%f\n",count,1.0*count/(13*13*13*13));

return0;

}运行结果:

count=59103 e=2.069360

以上按你原来的思路,对所有可能的牌面组合排序和计算张数,得出概率即期望值。

说实话这种死算的方法有点无趣,前面xoaxa 给出的随机模拟方法更有意思。

你之前死循环,原因应该是把a[0]~a[3]做为循环变量,然后又在循环里排序,还是升序!如果排序正常,最外层循环的a[0]会不断被改回1,永远无法结束。

排序这部分

for(k=j+1;k<4;k++)

if(a[k]

应该是少了一组{},数组a里面的值直接就乱了。

还有这段

while(s<13)

}第一,s 没有赋初值 0 , 数值未知,有可能进不了循环;第二,进了循环,如果遇到这种情况,a[0]~a[3] 4个数的总和还小于13,就会再次进入for循环(这种情况第一次进循环就会碰到,此时a[0]~a[3]都是1,总和才4!结果就是count值错误)。

4楼:小懒喵

稍等,我看看

你那个e是起什么作用的呀

5楼:it孤鹜

你的**中间搞个选择排序干嘛?不懂你**干嘛

高手帮我改一下这个c++程序,高手帮我改一下这个c++程序 10

1楼 匿名用户 我在保留了你的函数名的基础上,进行了修改。只记下了我记得的地方。 已经在vc6 0测试ok。如果有问题,可再找我。 include include include include 加了string风格字符串。 define m 2 把你的200改成了2,方便测试。 using nam...

C++高手帮帮我,帮我调一下这个程序

1楼 风波示 这是什么程序?你的基本 2楼 匿名用户 高手来了,不见 。 3楼 明澈 我加了一个显示函数,给你参考吧 include using namespace std const int n 5 template void modmerge record array record tempar...

求助:请各高手看解释一下c++程序中”using names

1楼 集秀荣税卯 using namespace std 是指定一个空间名 用于却别于 其他的的函数 使其不会 出现函数名 重复这个是 在c 中多出类后同时 因此而多出的,而 以前的c 没有类这个 概念所以 用头文件 就可以了 2楼 壤驷奕声塞水 引进std名字空间 如cout cin endl都是...