主题:C语言求助
JACKTHY
[专家分:0] 发布于 2007-11-13 15:50:00
1.
编程实现模拟两枚硬币的投掷1000出现两正面,一正一反,两反面的情况
(要求:用数组做,结果以百分数形式输出,如25%)
(提示:调用随机函数rand() 在<C程序设计> P372 面可以参考)
2.
随意输入一个字符串(例如:abcdefg)和两个正整数M,N(不超过字符串的长度)
编程实现从第M个字符开始的连续N个字符倒置
例如M=2 N=3
则abcdefg-----àadcbefg
(提示:用对称的思想,如abc只用调换 a,c即可)
回复列表 (共4个回复)
沙发
xiaomin123 [专家分:0] 发布于 2007-11-13 17:11:00
1.在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则该循环队列中共有多少个元素?
2.设一棵完全二叉数共有700个结点,则在该二叉数中有多少个叶子结点?
3.设数T的度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1.则T中的叶子结点数为多少?
板凳
zcs179895723 [专家分:330] 发布于 2007-11-14 09:46:00
1 有4个元素
2 52
3 楼
JACKTHY [专家分:0] 发布于 2007-11-14 20:47:00
[em18][em18][em18]
4 楼
上帝的源代码 [专家分:40] 发布于 2007-11-15 17:25:00
#define SIZE 1000
main()
{
//分别用count2,count1,count0,代表两正,一正一反,两反的情况
int count2=0,count1=0,count0=0;
int count;
for(count=1;count <= SIZE;count++){
switch(rand()%2+rand()%2){
case 2: count2 ++; break;
case 1: count1 ++; break;
case 0: count0 ++;
}
}
//打印最后结果
printf("出现两正面的概率是 %d%%\n",(count2*100)/SIZE);
printf("出现一正一反的概率是 %d%%\n",(count1*100)/SIZE);
printf("出现两反面的概率是 %d%%",(count0*100)/SIZE);
system("pause");
return 0;
}
1.用rand( )模2可以将随机数变为0或1,用1表示正面、0表示反面
rand( )+rand( )的得数2、1、0分别对应
两正面,一正一反,两反面
2.百分号“%”不能直接打印,需要用转义字符%
即用%%可以打印百分号
3.SIZE是一个符号常量,它会增强程序的可重用性
SIZE越大就越接近理论值
我来回复