#include "stdlib.h"
#include "time.h"
void sum(int *a,int *count);
void main()
{
int i;
int a[20],count[11];
srand((unsigned)time(NULL));
for(i=0;i<20;i++)
{
a[i]=rand()%11;
}
for(i=0;i<11;i++)
count[i]=0;
for(i=0;i<20;i++)
{
printf("%d ",a[i]);
}
printf("\n");
sum(a,count);
for(i=0;i<11;i++)
printf("数字%d出现%d次\n",i,count[i]);
}
void sum(int* a,int *count)
{
int i;
for(i=0;i<20;i++)
count[a[i]]++;
}
[此贴子已经被作者于2006-9-7 23:30:05编辑过]
----------------解决方案--------------------------------------------------------
我就是晕了啊,呵呵,想象的,我想出现1,就累加一次,出现2就累加2,这个不对~~~
----------------解决方案--------------------------------------------------------
21楼的兄弟,谢谢你了,
----------------解决方案--------------------------------------------------------
#include <stdio.h>
#include<time.h>
#include<stdlib.h>
#define N 11
int main()
{
int i,t,a[N];
srand(time(NULL));
for(i=0;i<N;i++)
{
a[i]=0;
}
printf("产生的序列是:");
for(i=1;i<=20;i++)
{
t=rand()%11;
a[t]++; //这一步是利用数组元素来统计和该元素下标相等的随机数.所以我就不需要另外调用函数
printf("%-3d",t);
}
printf("\n");
for(i=0;i<N;i++)
{
printf("出现%d的个数是:%d\n",i,a[i]);
}
printf("\n");
return(0);
}
----------------解决方案--------------------------------------------------------
题目要求滴丫,米办法,谢谢你们费心啦
----------------解决方案--------------------------------------------------------
刚少了个数字10的统计,上边的帖子重新编辑过了,你再看看
----------------解决方案--------------------------------------------------------
我假设的出现的那个数字为5,那么当a【i】==5为真的时候。count就自动加!注意count的初始值是为0的!
----------------解决方案--------------------------------------------------------
当然那个5,楼主可以自己在设置一个变量,在给那个变量赋一个值,就可以了!
----------------解决方案--------------------------------------------------------
题目要求的是21楼那样的效果丫~~
----------------解决方案--------------------------------------------------------
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
void sum(int *a,int *count);
void main()
{
int i;
int a[20],count[11];
srand((unsigned)time(NULL));
for(i=0;i<20;i++)
{
a[i]=rand()%11;
}
for(i=0;i<11;i++)
count[i]=0;
for(i=0;i<20;i++)
{
printf("%d ",a[i]);
}
printf("\n");
sum(a,count);
for(i=0;i<11;i++)
printf("数字%d出现%d次\n",i,count[i]);
}
void sum(int* a,int *count)
{
int i;
for(i=0;i<20;i++)
count[a[i]]++; //这里能注释一下吗?没见过这样写的啊
}
----------------解决方案--------------------------------------------------------