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都是...