当前位置: 代码迷 >> C语言 >> [求助]如何运用random程序
  详细解决方案

[求助]如何运用random程序

热度:261   发布时间:2006-12-08 18:23:05.0
[求助]如何运用random程序

谁能帮我解一下实验题
有一百个应用软件,随机产生使用次数运用random函数,数组,输出使用次数前十和没有被使用的,谢谢!

搜索更多相关的解决方案: random  

----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<stdlib.h>
int main(void) {
int s[100];
int i,j,max,f;
for(i=0;i<100;i++) s[i]=rand();
for(i=0;i<10;i++) {
max=0;
for(j=0;j<100;j++)
if(s[j]>max) { max=s[j]; f=j; }
printf("The No.%d\n",f);
s[f]=-1;
}
printf("\n");
for(i=0;i<100;i++)
if(s[i]==0) printf("The No.%d is 0\n",i);
getch();
return 0;
}
----------------解决方案--------------------------------------------------------

我的程序:
#include <stdio.h>
#include <stdlib.h>
main()
{
int i,j,n,max=0;
int array[100][2];
for(i=0;i<100;i++)
for(j=0;j<2;j++)
array[i][j]=0;
printf("正在随机产生100个数……\n");
for(i=1;i<=100;i++)
{
n=rand()%100+1;
printf("%3d, ",n);
array[n-1][0]=n;
array[n-1][1]++;
if(i%5==0)
printf("\n");

}
printf("输出10个出现次数最多的数:\n");
for(j=1;j<=10;j++)
{
for(i=0;i<100;i++)
{
if(array[i][1]>max)
{
n=i;
max=array[i][1];
}
}
array[n][1]=-1;
printf("%d, ",array[n][0]);
max=0;
}
printf("\n输出剩下的没有出现的数:\n");
for(i=0;i<100;i++)
{
if(array[i][1]==0)
{
printf("%2d, ",i+1);
max++;
if(max%5==0)
printf("\n");
}
}
return 0;
}


----------------解决方案--------------------------------------------------------
n=rand()%100+1;

为什么这样用?
----------------解决方案--------------------------------------------------------
因为我要产生1到100之间的随机数阿
----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
我想说的是,我要随机产生100个软件的使用次数,最后输出没被使用过的软件和十个十个高频软件
----------------解决方案--------------------------------------------------------
以下是引用卧龙孔明在2006-12-8 18:49:03的发言:
#include<stdio.h>
#include<stdlib.h>
int main(void) {
int s[100];
int i,j,max,f;
for(i=0;i<100;i++) s[i]=rand();
for(i=0;i<10;i++) {
max=0;
for(j=0;j<100;j++)
if(s[j]>max) { max=s[j]; f=j; }
printf("The No.%d\n",f);
s[f]=-1;
}
printf("\n");
for(i=0;i<100;i++)
if(s[i]==0) printf("The No.%d is 0\n",i);
getch();
return 0;
}

最后两行有错,我使得是tc3。0
----------------解决方案--------------------------------------------------------

以下是引用枫香葳蕤在2006-12-10 16:14:06的发言:

最后两行有错,我使得是tc3。0

TC 2.01下调试通过


----------------解决方案--------------------------------------------------------
我就是按你说的意思编的啊,只不过我是用随机产生的数来代表第几个软件被使用和没有被使用的软件的代号
----------------解决方案--------------------------------------------------------
  相关解决方案