请问c语言如何实现如下功能
答案:1 悬赏:10 手机版
解决时间 2021-01-24 20:51
- 提问者网友:记得曾经
- 2021-01-23 22:31
请问c语言如何实现如下功能
最佳答案
- 五星知识达人网友:人间朝暮
- 2021-01-23 22:45
#include
#include
#include
int contains(int *array,int size,int num)
{
for(int i=0;i {
if(*(array+i)==num) return 1;
}
return 0;
}
int getRandom(int *unit)
{
int order[4]={-1,-1,-1,-1};
int num=0;
for(int i=0;i<4;)
{
int x =random()%4;
if(contains(order,4,x)==0)
{
order[i]=x;
i++
}
}
for(int i=0;i<4;i++)
{
int j=order[i];
num+=unit[j]*pow(10,i);
}
return num;
}
int main(void)
{
int unit[4];
int array[24];
int size=0;
int num=0;
printf("请输入4个不同的自然数(1~9):");
scanf("%d %d %d %d",unit,unit+1,unit+2,unit+3);
while(size<24)
{
num=getRandom(unit);
if(contains(array,size,num)==0)
{
array[size]=num;
size++;
}
}
for(int i=0;i {
printf("%10d",array[i]);
}
return 0;
}
#include
#include
int contains(int *array,int size,int num)
{
for(int i=0;i
if(*(array+i)==num) return 1;
}
return 0;
}
int getRandom(int *unit)
{
int order[4]={-1,-1,-1,-1};
int num=0;
for(int i=0;i<4;)
{
int x =random()%4;
if(contains(order,4,x)==0)
{
order[i]=x;
i++
}
}
for(int i=0;i<4;i++)
{
int j=order[i];
num+=unit[j]*pow(10,i);
}
return num;
}
int main(void)
{
int unit[4];
int array[24];
int size=0;
int num=0;
printf("请输入4个不同的自然数(1~9):");
scanf("%d %d %d %d",unit,unit+1,unit+2,unit+3);
while(size<24)
{
num=getRandom(unit);
if(contains(array,size,num)==0)
{
array[size]=num;
size++;
}
}
for(int i=0;i
printf("%10d",array[i]);
}
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯