| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 520 人关注过本帖
标题:不懂怎么的改了???
只看楼主 加入收藏
aa874142631
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2013-11-7
结帖率:57.14%
收藏
已结贴  问题点数:10 回复次数:5 
不懂怎么的改了???
//模拟骰子的6000次投掷,用rand函数产生1到6之间的随机数face,
//然后统计1到6面出现的机会(概率--次数)存放在数组frequency中。最后输出frequency数组的每一面次数。
//可以定义frequency[7]={0},然后用frequency[1]到frequency[6]来分别存放统计1-6出现的次数,最后输出结果。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv[])
{
    #define a 6000
    int frequency[7];
    int face,i,b=0,c=0,d=0,e=0,f=0,g=0;
    for(i=0;i<a;i++)
{
    srand(time(NULL));
    face=rand()%6+1;
    printf("%d",face);
    if(face=1)
    b++;
    else if(face=2)
   c++;
    else if(face=3)
   d++;
    else if(face=4)
   e++;
    else if(face=5)
   f++;
    else if(face=6)
 g++;
   
}  
    frequency[1]=b;
    frequency[2]=c;
    frequency[3]=d;
    frequency[4]=e;
    frequency[5]=f;
    frequency[6]=g;
    frequency[7]=0;
    for(i=1;i<=6;i++)
    printf("frequency[i]=%d\n ", frequency[i]);
    return 0;
}
搜索更多相关主题的帖子: frequency include 统计 
2013-12-06 23:41
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:3 
这么小的程序你能写成这样...
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv[])
{
    #define a 6000
    int frequency[7];
    int face,i,b=0,c=0,d=0,e=0,f=0,g=0;
    for(i=0;i<a;i++)
{
    srand(time(NULL));   //放在循环外面   不然起不到随机播种的作用
    face=rand()%6+1;
    printf("%d",face);
    if(face=1)  //= 是赋值号!不是等于号,应该是 face==1 ,下面几个都错了
    b++;
    else if(face=2)
   c++;
    else if(face=3)
   d++;
    else if(face=4)
   e++;
    else if(face=5)
   f++;
    else if(face=6)
g++;
   
}  
    frequency[1]=b;
    frequency[2]=c;
    frequency[3]=d;
    frequency[4]=e;
    frequency[5]=f;
    frequency[6]=g;  这个...[7]从何而来?数组下标识0-6...  这个去掉吧  没作用
    frequency[7]=0;
    for(i=1;i<=6;i++)
    printf("frequency[i]=%d\n ", frequency[i]);
    return 0;
}

三十年河东,三十年河西,莫欺少年穷!
2013-12-07 01:17
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:4 
补充一下   你设置那么多变量干嘛???   一个数组不就搞定了
程序代码:
#include <stdio.h>
#include <time.h>
int main(int argc, char *argv[])
{
    int frequency[7]={0};
    int face,i,a=6000;
    srand(time(NULL));
    for(i=0;i<a;i++)
    {
        face=rand()%6+1;
        printf("%d",face);
        if(face==1)
            frequency[1]++;
        else if(face==2)
            frequency[2]++;
        else if(face==3)
            frequency[3]++;
        else if(face==4)
            frequency[4]++;
        else if(face==5)
            frequency[5]++;
        else if(face==6)
            frequency[6]++;
    } 
    for(i=1;i<=6;i++)
    printf("frequency[i]=%d\n", frequency[i]);
    return 0;
} 

 

三十年河东,三十年河西,莫欺少年穷!
2013-12-07 01:19
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:3 
frequency[ rand() % 6 + 1 ] += 1


[fly]存在即是合理[/fly]
2013-12-07 02:50
aa874142631
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2013-11-7
收藏
得分:0 
回复 2楼 韶志
谢谢 。。刚学习数组。。啥都不懂
2013-12-09 09:45
aa874142631
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2013-11-7
收藏
得分:0 
回复 2楼 韶志
谢谢。gan刚学习数组啥都不懂
2013-12-09 09:46
快速回复:不懂怎么的改了???
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020888 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved